我来维护一段 javascript,它从服务器下载一些 JSON 数据,构建一个新的表行(如$('<tr></tr')
)并将其插入到文档中。
该a
节点在某一时刻是这样创建的:
var a = $('<a class="foo" href="#"></a>');
后来,一个事件像这样绑定到它:
a.click(function () {
// yadda yadda
return false;
});
唯一的问题是这似乎不起作用。通过绑定on()
或弃用的live()
. 处理程序被简单地“忽略”,从不触发并且页面滚动到顶部(由于href="#"
)。绑定事件时,元素已经被append
编辑到 DOM。任何帮助将不胜感激。
想到的一些上下文信息:元素是在迭代数据的循环中创建的,但这不应该成为问题,除非 javascript 在范围界定方面有一些非常奇怪的东西,加上我尝试使用该元素的所有其他工作:我可以更改它的内容、样式,只有事件绑定不起作用。当然,还有 jQuery 版本,即1.8.3。