【发布时间】:2010-04-11 19:51:09
【问题描述】:
Internet Explorer 是否有解决方法来实现 'this' javascript 关键字提供的功能以获取触发事件的 dom 元素?
我的问题场景是: 我在 html 表单中有可变数量的文本字段,例如
<input type="text" id="11"/>
<input type="text" id="12"/>
..
我需要为每个文本字段处理“onchange”事件,并且处理取决于触发事件的字段的“id”。 到目前为止,我知道我的选择是: 1) 为每个文本字段附加一个专用的事件处理程序。所以如果我有 n 个字段,我就有 n 个不同的功能,例如:
<input type="text" id="11" onchange="function11();"/>
<input type="text" id="12" onchange="function12();"/>
但文本字段是动态添加和删除的,因此更好的方法是使用一个通用函数。
2) 使用 'this' 关键字,例如:
<input type="text" id="11" onchange="functionGeneric(this);"/>
<input type="text" id="12" onchange="functionGeneric(this);"/>
但此选项不适用于 Internet Explorer。
任何人都可以建议一种解决方法以使其在 IE 或其他可以在此处应用的解决方案中工作吗? 谢谢。
【问题讨论】:
-
快速提示:以数字开头的元素 ID 是非法的。它们只能以字母或下划线开头。相应地修复以避免无情的浏览器造成无法解释的行为。至于您的问题:请更新您的问题以包含sscce.org,这应该可行。
标签: javascript jquery html event-handling this