某些现代浏览器(包括Firefox 3.X)支持HTML5“oninput”事件。
但是,奇怪的是,它似乎只适用于内联javascript:
<input id = "q" oninput="alert('blah')">
当我尝试使用JavaScript代码进行设置时,不会触发。
var q = document.getElementById("q");
q.oninput = function(){alert("blah");};
这仅仅是Firefox中的错误,还是有某些原因会导致这种情况发生?
最佳答案
下载FireFox v3.6.27并进行一些测试和搜索之后。我发现以前的答案是错误的。
我得到的是:
因此,在这种情况下要添加事件监听器,您可以执行以下任一操作
<input id = "q" oninput="alert('blah')">
或者
q.addEventListener('input', function(){alert("blah");}, true);
但我更喜欢后一种方式。您可以在addEventListener中找到原因。
IE attachEvent中也有类似的功能。