我如何防止第一次单击时<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
}
});
最佳答案
假设将有多个元素,则使用公共(public)计数器将不起作用。您可以使用data-*
属性对单个元素使用计数器
此外,用于选择 anchor 的选择器不正确。
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
});
关于javascript - jQuery-防止第一次单击时执行默认操作<a>,第二次单击时允许默认操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33191673/