使用jQuery我希望在引发.change()
或.keyup()
时运行一个函数。
像这样。
if ( jQuery(':input').change() || jQuery(':input').keyup() )
{
alert( 'something happened!' );
}
修改
抱歉,我忘了提及。 .change()
和.keyup()
都需要一些变量在范围内。
答案 0 :(得分:160)
您可以通过用空格分隔多个事件来绑定它们:
$(":input").bind("keyup change", function(e) {
// do stuff!
})
docs here。
希望有所帮助。干杯!答案 1 :(得分:20)
如果你曾经动态生成页面内容或通过AJAX加载内容,那么下面的例子就是你应该采用的方式:
body
上,因此无论添加,移动,删除和重新添加哪些元素,与指定选择器匹配的body
的所有后代都将保留正确的绑定。 守则:
// Define the element we wish to bind to.
var bind_to = ':input';
// Prevent double-binding.
$(document.body).off('change', bind_to);
// Bind the event to all body descendants matching the "bind_to" selector.
$(document.body).on('change keyup', bind_to, function(event) {
alert('something happened!');
});
请注意!我使用$.on()
和$.off()
而不是其他方法有以下几个原因:
$.live()
和$.die()
已弃用,并且已从更新版本的jQuery中删除。$.change()
和$.keyup()
,或者将相同的函数声明传递给每个函数所谓的;复制逻辑......这是绝对不可接受的。$.bind()
在创建元素时不会动态绑定到元素。因此,如果绑定到:input
然后向DOM添加输入,则该绑定方法不会附加到新输入。然后,您需要显式取消绑定,然后重新绑定到DOM中的所有元素(否则您最终会绑定绑定)。每次将输入添加到DOM时,都需要重复此过程。答案 2 :(得分:2)
您可以订阅更改和密钥事件:
$(function() {
$(':input').change(myFunction).keyup(myFunction);
});
其中myFunction
是您要执行的功能:
function myFunction() {
alert( 'something happened!' );
}
答案 3 :(得分:1)
这样做。
$(function(){
var myFunction = function()
{
alert("myFunction called");
}
jQuery(':input').change(myFunction).keyup(myFunction);
});
答案 4 :(得分:1)
这不是事件的运作方式。相反,你给它们一个在它们发生时被调用的函数。
$("input").change(function() {
alert("Something happened!");
});
答案 5 :(得分:1)
keyup事件输入jquery
$(document).ready(function(){
$("#tutsmake").keydown(function(){
$("#tutsmake").css("background-color", "green");
});
$("#tutsmake").keyup(function(){
$("#tutsmake").css("background-color", "yellow");
});
});
<!DOCTYPE html>
<html>
<title> jQuery keyup Event Example </title>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
</head>
<body>
Fill the Input Box: <input type="text" id="tutsmake">
</body>
</html>
答案 6 :(得分:0)
编写一个函数并为它们调用它。
function yourHandler(e){
alert( 'something happened!' );
}
jQuery(':input').change(yourHandler).keyup(yourHandler);
change()和keyup()事件注册函数返回原始集,因此可以链接它们。
答案 7 :(得分:0)
好吧,这就是我使用 Jquery 解决它的方法
$("#c_debit").on("keyup change", function(e) {
let debitValue = $("#c_debit").val();
if(debitValue != 0)
{
$( "#c_credit" ).prop( "disabled", true );
}
else{
$( "#c_credit" ).prop( "disabled", false );
}
})