鼠标悬停时元素按键

时间:2017-07-26 09:32:38

标签: javascript jquery css

我想在禁用元素上输入keypressed时创建一个函数。

$(".example").on("keypress", function(e) {
  if (e.keyCode == 13) {
    alert("enter pressed");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="example" disabled/>

我正在尝试悬停方法,但我不能成功。

这是jsFiddle链接:https://jsfiddle.net/vL9emkzL/

编辑第二个小提琴链接:https://jsfiddle.net/vL9emkzL/1

2 个答案:

答案 0 :(得分:1)

使用readonly而不是disabled。禁用的元素无法发出事件。

$(".example").on("keypress", function(e) {
  if (e.keyCode == 13) {
    alert("enter pressed");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="example" readonly/>

答案 1 :(得分:1)

以下是我们可以做的事情:

  1. 如您所述,用户将在输入字段中输入值,然后按输入
  2. 因此,当用户按Enter键时,请禁用此字段并打开弹出窗口。
  3. 因此,我们只能在按 时禁用它,而不是从头开始只读或禁用它。

    $(".example").on("keypress", function(e) {
      if (e.keyCode == 13) {
        $(this).prop('disabled', true);
        console.log("enter pressed and field is disabled.");
      }
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input class="example" />