JavaScript - 重复选择器

时间:2018-02-15 01:00:29

标签: javascript jquery

我使用选择器为两个不同的事件提供了两个函数。

$("#textArea").keyup(function(){
    if ($("#textArea").val != "") {
        document.getElementById("btnPost").disabled = false;
    } else {
        document.getElementById("btnPost").disabled = true;
    }
});

$("#textArea").keypress(function(event){
    if(event.which == 13 && !event.shiftKey) {
        // Do something
    }
});

问题在于,只运行其中一个功能。在JQuery中可以接受相同选择器的两个事件吗?是否可以使用相同的选择器检测这两个事件?在这两个函数中,只运行第一个函数,一个用于禁用按钮的函数。如何让另一个工作?感谢。

1 个答案:

答案 0 :(得分:0)

将两个事件定位到同一个选择器是完全正常的。如果两个事件中只有一个触发,则问题出在if条件逻辑上。您的第一个条件不会触发,因为您正在寻找方法 .val() 而不是.val

这是一个简单的例子:



$("#textArea").keyup(function() {
  if ($("#textArea").val() != "") {
    console.log('Up: Filled');
  } else {
    console.log('Up: Empty');
  }
});

$("#textArea").keypress(function(event) {
  console.log('Press');
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="textArea">
&#13;
&#13;
&#13;