【问题标题】:Use preventDefault() instead of removing attr href使用 preventDefault() 而不是删除 attr href
【发布时间】:2014-04-02 03:37:08
【问题描述】:

当我点击后退按钮时,我需要导航到上一页,它实际上有一个标签,它可以转到主页。相反,我应该阻止它进入主页。

$('#id').click(function(){
    $(this).removeAttr('href');
});

我如何使用 preventDefault(); 而不是删除 href attr有什么建议吗?

干杯!

【问题讨论】:

    标签: jquery


    【解决方案1】:

    点击处理程序接收event object作为第一个参数,用它来调用preventdefault()

    $('#id').click(function(e){
        e.preventdefault();
    });
    

    【讨论】:

      【解决方案2】:

      这样做:

      $('#id').click(function(e){
          e.preventDefault();
      });
      

      演示:http://jsfiddle.net/AmitJoki/9zUuC/2

      或者只返回false:

      $('#id').click(function(){
          return false;
      });
      

      演示:http://jsfiddle.net/AmitJoki/9zUuC/1/

      return false; 被有效地用于event.stopPropogation()event.preventDefault();

      event.preventDefault() 就像它的名字所说的那样:它阻止默认操作。

      【讨论】:

      • 是的。您错过了函数中的“事件”参数。无论如何,谢谢朋友。
      • @NizamAli,不,我没有错过。这是故意的。它会工作
      • @NizamAli,查看演示
      • 第一个演示在 Firefox 中无法运行,因为 event 对象在此浏览器中没有暴露在全局范围内。至于第二个,你至少应该提到return falseEvent.preventDefault() 之间的区别。
      猜你喜欢
      • 1970-01-01
      • 2010-12-06
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多