我使用选择器为两个不同的事件提供了两个函数。
$("#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中可以接受相同选择器的两个事件吗?是否可以使用相同的选择器检测这两个事件?在这两个函数中,只运行第一个函数,一个用于禁用按钮的函数。如何让另一个工作?感谢。
答案 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;