[英]Jquery - prevent default action of <a> on first click, allow default action on second click
如何在第一次單擊時阻止<a>
的默認操作(按順序顯示工具提示),然后在第二次單擊時將用戶定向到元素上設置的href
屬性的值?
HTML
<a id="second" href="https://www.test.com/" title="" class="customtooltip c_tool2" data-original-title="data del toolltip numero 2">tooltip</a>
jQuery的
var t = $('.c_tool2'), b = $('a[href^="http');
b.click(function(e){
if(t.length > 0){
e.preventDefault();
t.tooltip('show');
} else {
// on second click direct user to value of href
}
});
假設會有多個元素,使用公共計數器將無法正常工作。 您可以使用data-*
屬性在單個元素上使用計數器
此外,選擇錨點的選擇器不正確。
var t = $('.c_tool2'),
b = $('a[href^="http"]'); // <-- Added "] to make it correct
b.click(function (e) {
// Get the counter for clicked element
var clickCount = parseInt($(this).data('count'), 10) || 0;
// If counter is zero i.e. for the first click
if (!clickCount) {
// Update the value of the counter
$(this).data('count', ++clickCount);
t.tooltip('show');
// Prevent the default action of the page redirection
e.preventDefault();
}
// Else, follow the default action
});
嘗試使用.data()
而不是用計數器污染全局范圍,
b.click(function(e) {
if(!$(this).data("flag")) {
e.preventDefault();
$(this).data("flag",true);
t.tooltip('show');
} else {
// on second click direct user to value of href
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.