我有一個插件腳本如下:我可以使用jQuery將多個點擊事件附加到元素嗎?
$("#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);
});
第一功能的其餘部分是相關的,特別是如果它是'回到FALSE' ... – lonesomeday
我加了函數的其餘部分。沒有回報是錯誤的。我想知道是否有兩個event.preventDefault(); –
爲什麼你需要2個點擊事件?這與你附加的元素是一樣的,所以只需將你的代碼放在一起,並將其組合成一個事件 – Tom