文本输入元素没有更改事件吗?当我将更改事件处理程序附加到文本输入时,它不会被触发.键盘被触发,但是键盘不足以检测更改,因为显然有其他方法可以将文本输入到输入中.
Mik*_*keM 29
<input>元素的HTML4规范指定以下脚本事件可用:
onfocus,onblur,onselect,onchange,onclick,ondblclick,onmousedown,onmouseup,onmouseover,onmousemove,onmouseout,onkeypress,onkeydown,onkeyup
这是一个绑定所有这些事件的例子,并显示了正在发生的事情http://jsfiddle.net/pxfunc/zJ7Lf/
我认为您可以过滤掉与您的情况真正相关的事件,并检测事件之前和之后的文本值以确定更改
Pow*_*Ian 22
我发现这有效:
$(document).ready(function(){
$('textarea').bind('input propertychange', function() {
//do your update here
}
})
Run Code Online (Sandbox Code Playgroud)
ven*_*aur 14
更改事件仅在输入失去焦点(并且已更改)后触发.
对此没有真正的解决方案 - 即使在上面给出的其他问题的链接中也是如此。最后我决定使用setTimeout并调用一个每秒检查一次的方法!这不是一个理想的解决方案,但一个有效的解决方案和我调用的代码足够简单,不会因为一直被调用而对性能产生影响。
function InitPageControls() {
CheckIfChanged();
}
function CheckIfChanged() {
// do logic
setTimeout(function () {
CheckIfChanged();
}, 1000);
}
Run Code Online (Sandbox Code Playgroud)
希望这对将来的人有所帮助,因为似乎没有可靠的方法可以使用事件处理程序来实现这一目标......
| 归档时间: |
|
| 查看次数: |
123813 次 |
| 最近记录: |