问题 使用Javascript设置oninput事件


一些现代浏览器支持HTML5“oninput”事件,包括Firefox 3.X

然而,奇怪的是,它似乎只适用于内联javascript:

<input id = "q" oninput="alert('blah')">

当我尝试使用javascript代码设置它时,它不会触发。

var q = document.getElementById("q");
q.oninput = function(){alert("blah");};

这只是Firefox中的一个错误,还是有这样的原因?


11366
2018-02-20 02:30


起源

这似乎是旧版FF中的一个错误,因为它适用于当前版本的Chrome和FF。 jsfiddle.net/mrtsherman/c5ywv - mrtsherman


答案:


下载FireFox v3.6.27并进行一些测试和搜索。我发现我以前的答案是错的。

我得到的是:

Firefox版本4支持oninput事件属性。

因此,要在这种情况下添加事件侦听器,您可以执行任一操作

<input id = "q" oninput="alert('blah')">

要么

q.addEventListener('input', function(){alert("blah");}, true);

但我更喜欢后来的方式。你可以找到原因 的addEventListener
IE中也有类似的功能 的attachEvent


14
2018-02-20 03:14