javascript - 如何让它像Chrome中那样显示?

标签 javascript dom-events

这里有两个元素:

<input type="button" value="Click1"/>
<input type="button" value="Click2"/>

我想监视这些事件的“onclick”事件。所以我尝试使用这段代码:

function EventUtil(){}

EventUtil.prototype = {
constructor:EventUtil,

addHandler: function (element, type, handler) {
    if (element.addEventListener) {    //DOM2
        element.addEventListener(type, handler, false);
    } else if (element.attachEvent) {    //IE
        element.attachEvent("on" + type, handler);
    } else {      //DOM0
        element["on" + type] = handler;
    }
    
}};

var eventUtil = new EventUtil();
var buttons = document.getElementsByTagName("input");
for(var i = 0;i<buttons.length;++i) {
          
   var func = function () {
       alert(this.value);
   };
   eventUtil.addHandler(buttons[i], "click", func);
}

在Chrome中,我可以获得“Click1”和“Click2”。但在 IE8 中,它给了我“未定义”。那么如何让它像Chrome中那样显示呢?

最佳答案

如果可能的话,我建议您使用像jQuery这样的JS库。 如果您在 HTML 文件中包含 jQuery-Library,您可以简单地通过以下方式实现您的目标:

$("input").click(function(){
    alert($(this).val());
}

关于javascript - 如何让它像Chrome中那样显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10064012/

相关文章:

javascript - Node.js/jade——如何将 mysql 数据作为局部变量传递到内联 javascript 中?

javascript - 将两个列表转换为 json

javascript - 使用 JavaScript 将字母等级 GPA 转换为数字等级

javascript - 输入事件监听器(onkeypress、onkeydown)在 Android 数字键盘中不起作用

Javascript 跟踪变量变化

javascript - 确定 Canvas 大小何时调整

javascript - 涉及舍入和倍数的算法

javascript - 模态内的 Bootstrap 模态;关闭模态后无法滚动

javascript - 如何在选项卡中保存变量以供 Firefox 扩展使用?

javascript - 如何使用 javascript 处理启动应用程序确认框