Html代码:
<body>
<input value="123">
<button>button</button>
</body>
Js代码(使用JQuery 1.2.0):
$(function(){
$("button").click(function(){
$("input").val("balabala...");
});
$("body").on("change","input",function(){
alert("change");
alert($("input").val());
});
});
问题:
在开始时,输入的值是"123“。
当我通过手工编辑更改文本并单击其他地方而不是输入字段时,输入的更改事件将触发。
但是,当我单击该按钮(它也将更改输入的值)时,输入的更改事件将无法工作。
谢谢你的帮助。
发布于 2014-05-08 07:24:51
在用代码编程更改值时,不会触发change
事件,您必须自己触发它
$(function(){
$("button").click(function(){
$("input").val("balabala...").trigger('change');
});
$("body").on("change","input",function(){
alert("change");
alert($("input").val());
});
});
发布于 2014-05-08 07:25:55
您需要将.change()
附加到click
函数中:
$(function(){
$("button").click(function(){
$("input").val("balabala...").change();
});
$("body").on("change","input",function(){
alert("change");
alert($("input").val());
});
});
https://stackoverflow.com/questions/23545986
复制相似问题