gpt4 book ai didi

jquery - 我可以使用 jQuery 将多个单击事件附加到一个元素吗?

转载 作者:行者123 更新时间:2023-12-01 05:00:23 24 4
gpt4 key购买 nike

我的插件脚本中有以下内容:

$("#menu")
.on('click','a[href^="/Test"]',function(event){

event.preventDefault();
var href = $(this).attr('href');

alert(this);
// Load content
$('#content').load(href, '', function (responseText, textStatus, XMLHttpRequest) {
$(this).applyTemplateSetup().buildTableOfContent();
});
window.location.hash = '#' + href;

// Get nav link
var a = $('#menu a[href="' + href + '"]');
if (a.length > 0) {
// Mark as current
$('#menu a').removeClass('current');
a.addClass('current');

// Update breadcrumb
var breadcrumb = $('#breadcrumb').empty();
while (a.length > 0) {
if (a.get(0).nodeName.toUpperCase() == 'A') {
var target = a;
}
else {
var target = a.parent().find('a:first');
}
breadcrumb.prepend('<li><a href="' + target.attr('href') + '">' +
a.contents().filter(function () {
return this.nodeType == 3;
}).first().text()
+ '</a></li>');

// Check if opened
var li = a.parent();
if (li.hasClass('closed')) {
li.removeClass('closed');
}

a = li.parent().parent().children('a, span');
}
}
});

我还想在用户单击时设置链接的值。我添加了这个在我的页面上,但似乎没有被调用。有没有什么时候出现问题我将两个相同类型的事件附加到一个元素?

$("#menu")
.on('click', 'a[href^="/Test"]', function (event) {
event.preventDefault();
var href = $(this).attr('href');
var pk = href.substr(7, 4);
var rk = href.substr(12, 4);
var link = "/Admin/Testss/Edit?pk=" + pk + "&rk=" + rk;
$('#editLink').data('href', link);
});

最佳答案

是的,应该可以。确保定义第二个处理程序的代码实际上正在执行。

或者,您始终可以修改附加的第一个处理程序以调用您的(多个)其他函数。

就我个人而言,我更喜欢让前者工作,因为它允许您独立附加/分离处理程序。

使用 Bind 是否也有同样的问题? ?

正如 Q 的评论中提到的,如果任何函数返回 false,它将阻止事件冒泡。

关于jquery - 我可以使用 jQuery 将多个单击事件附加到一个元素吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10724060/

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