我有一个输入文本,我需要在文本(值)改变时检测。 可以通过两种方式更改值:
对于项目1我使用keyup
解决了但是对于项目2我不知道如何检测文本何时被更改。
我尝试change()
但不起作用。
答案 0 :(得分:1)
您可以在功能中使用.trigger()
来填充输入。
$("#idOfButton").click(function() {
//do some stuff
//fill input
$("#edit").val("new stuff!").triggerHandler("keyup"); //<--Trigger keyup event
});
答案 1 :(得分:0)
在change()
上为item2和item1 keyup处理程序添加事件处理程序,触发item2 change()
事件。很简单......
答案 2 :(得分:0)
“运行jQuery事件并用结果填充它。”
你可以从你的jquery事件中调用另一个函数。
$('sel').click(function(){
textedited(); // call your new function.
});
答案 3 :(得分:0)
您可以创建一个间隔,检查输入字段的值是否在每个场合都有变化(用户输入或按钮点击):
var oldValue = $('#field').val();
var newValue = oldValue;
var checkInputFieldInterval = window.setInterval(function() {
newValue = $('#field').val();
if (newValue !== oldValue) {
// VALUE CHANGED, DO STUFF
oldValue = newValue;
}
}, 100);
注意“100”是以ms为单位的间隔时间。您可以在此页面http://www.w3schools.com/jsref/met_win_setinterval.asp
上找到有关setInterval()方法的更多信息答案 4 :(得分:0)
你可以......
$('.name').on('keyup', function(){
/* I'll run when the button is clicked or there's a keyup event. */
})
$('button').on('click', function(){
$('.name').val('Bill').trigger('keyup');
})
这是一个快速演示:http://jsbin.com/uteceb/1/edit