这里有两个元素:
<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/