gpt4 book ai didi

javascript - 让 div 内的所有链接都调用相同的函数?

转载 作者:行者123 更新时间:2023-12-02 20:39:54 24 4
gpt4 key购买 nike

我正在尝试创建一个显示警报的通知区域。

return this.each(function() {
jQuery('<div class="' + o['className'] + '">' + o.msg + ' +
'<a href="#" onclick="$(this).parent().remove(); dismiss(' + o["id"] + ');">X</a>' + '</div>')
.appendTo(this);
});

这只是从数据库中提取一条消息,并将其显示给用户。如果用户单击 X,则会调用 Dismiss(),这会将其标记为已在数据库中读取。

问题是,如果消息本身包含指向另一个页面或外部站点的链接,我还想在用户离开页面之前调用解雇()。无论如何,是否可以更改此 javascript 以获取所有 a 元素(X 和消息中出现的任何链接)并更改 onclick 来调用该函数?

最佳答案

您可以稍微重新排列一下代码并使用 .delegate() ,像这样:

return this.each(function() {
var id = o["id"];
jQuery('<div />', { 'class': o['className'], html: o.msg })
.append('<a href="#">X</a>')
.delegate('a','click', function() { $(this).parent().remove(); dismiss(id); })
.appendTo(this);
});

这使用新的 jQuery(html,props)在 jQuery 1.4 中添加,使创建更加干净(并且更快!文档片段缓存!)。它所做的不是将 onclick 附加到 X,而是监听来自 any <a> 的点击。在 div 中,当它冒泡时,它执行的代码与以前仅在 <a href="#">X</a> 上执行的代码相同。 anchor 。

关于javascript - 让 div 内的所有链接都调用相同的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2671949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com