簡體   English   中英

Jquery - 防止<a>第一次單擊時的默認操作,允許第二次單擊時執行默認操作</a>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM