我如何防止第一次单击时<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/

10-11 13:13