假设您的页面上有一个简单的文本框和按钮。单击该按钮将更新文本框值:
HTML:
<input type="text" id="myText" val="" />
<input type="button" id="myBtn" value="Change TextBox Value" />
jQuery:
$("#myBtn").on('click', function() {
$("#myText").val('adsf');
})
我想为textbox的change事件添加一个事件侦听器,如下所示:
$('#myText').on('change', function(){
alert('Changed!')
});
单击该按钮时不会触发该警报,但当您手动更改文本框值并将焦点移出该按钮时,会触发该警报。
我知道您可以将$("#myText").trigger('change')
添加到按钮的onclick事件中,但我只希望通过将事件侦听器添加到textbox来完成此操作。
谢谢
发布于 2013-04-17 06:53:57
为什么不在单击按钮时强制执行手动事件,如下所示-
$('#myText').on('change',function(e){
alert('Changed!');
});
$("#myBtn").on('click', function() {
$("#myText").val('adsf');
$("#myText").change();
})
发布于 2013-04-17 06:16:49
您需要连接这两个处理程序。要重用处理程序,可以将其提取到一个命名函数中:
function showChanged(){
alert('Changed!')
}
$("#myBtn").on('click', showChanged);
$("#myText").on('change', showChanged);
发布于 2015-03-10 19:47:33
您只需要使用keyup
函数:
$( "#myText").keyup(function(){
alert($(this).val());
});
https://stackoverflow.com/questions/16048084
复制相似问题