当前位置: 首页 > 面试题库 >

JavaScript输入禁用事件

彭博厚
2023-03-14
问题内容

显然一个被禁用的没有被任何事件处理

有没有解决此问题的方法?

<input type="text" disabled="disabled" name="test" value="test" />



$(':input').click(function () {
    $(this).removeAttr('disabled');
})

在这里,我需要单击输入以启用它。但是,如果我不激活它,则不应发布输入。


问题答案:

禁用的元素不会触发鼠标事件。大多数浏览器会将事件从禁用元素传播到DOM树,因此事件处理程序可以放在容器元素上。但是,Firefox不会表现出这种行为,当您单击禁用的元素时,它根本不执行任何操作。

我想不到更好的解决方案,但是,为了完全兼容跨浏览器,您可以在禁用的输入之前放置一个元素,然后单击该元素。这是我的意思的示例:

<div style="display:inline-block; position:relative;">
  <input type="text" disabled />
  <div style="position:absolute; left:0; right:0; top:0; bottom:0;"></div>
</div>​

jq:

$("div > div").click(function (evt) {
    $(this).hide().prev("input[disabled]").prop("disabled", false).focus();
});​


 类似资料:
  • 问题内容: $input.disabled = true; 要么 哪种标准方法?相反,如何启用禁用的输入? 问题答案: jQuery 1.6以上 要更改属性,您应该使用函数。 jQuery 1.5及以下 该函数不存在,但具有相似的功能: 设置禁用的属性。 要再次启用,正确的方法是使用 在任何版本的jQuery中 您始终可以依赖实际的DOM对象,并且如果只处理一个元素,它可能比其他两个选项要快一些:

  • 问题内容: 我有一个带有两个文本框,一个 选择 下拉菜单和一个 单选按钮 。当按下该键时,我想调用一个Javascript函数(用户定义),但是当我按下它时,将提交表单。 按下键时如何防止提交 ? 问题答案: if(characterCode == 13) { return false; // returning false will prevent the event from bubbling

  • 问题内容: 我正在尝试获取Disabled()字段的值,但是它返回一个空字符串。 我已经尝试过:,但是到目前为止,这些方法都无效。 问题答案: 如果您标记的是这样- 您的代码应为- 要么 确保您的代码正确。如果这不起作用,请发布您正在使用的HTML代码。 对于此标签- 要获取value属性- 值必须是 让我知道是否有任何问题。 如果这样做不起作用,则可能必须使用javascript执行程序- 您的

  • 在ts 中禁用... 我只想禁用基于<code>true</code>或<code>false</code>的输入。 我尝试了以下几点:

  • 问题内容: 所以我有一个像这样的按钮: 我要如何禁用和启用它?我已经尝试过,但是将其重新启用是一个问题。我尝试将其设置回false,但是没有启用它。 问题答案: 使用JavaScript 禁用HTML按钮 启用html按钮 使用jQuery jQuery 1.6之前的所有版本 禁用HTML按钮 启用html按钮 1.6之后的所有版本的jQuery 禁用HTML按钮 启用html按钮 PS更新了基于

  • 问题内容: 我将此字段用于编辑视图和创建视图 在控制器中,我有以下代码来禁用输入元素: 请帮忙。 问题答案: 将ng- disabled 或特殊CSS类与ng- class一起使用