【问题标题】:JavaScript click doesn't work the second timeJavaScript点击第二次不起作用
【发布时间】:2011-10-10 22:46:08
【问题描述】:

我有一个用于删除消息的 jQuery 脚本。我第一次单击链接时一切正常。我单击删除链接并出现confirm 对话框。确认后,它会重定向到另一个页面,然后返回。但是,我第二次单击该链接时没有任何反应。

$(document).ready(function(){
    $("a.del").click(function(){
        var conf = confirm("Confirmation message"); 
        if(conf == true)
            return true;
        else
            return false;
    });
});

点击功能必须在每个点击事件中起作用。

【问题讨论】:

  • if(x == true) return true; else return false; - 这是一个 WTF;只需写return x;
  • 对我来说很好用:jsfiddle.net/BBneU——也许你的代码的其他部分导致了 JavaScript 错误,从而阻止了任何进一步的代码运行?
  • “del sth”是什么意思?关于第一次点击、第二次点击、定向、重定向,您在说什么?您为什么不设置 whole 场景并解释与您的行为相反的 whole 事件序列期望。
  • 答案,无论它是什么,都不在这段代码中,而是在你拥有的所有其他代码中。 a.del 元素是否可能会被删除并重新创建,而不会再次触发 document.ready?
  • @ThiefMaster,他依赖类型强制,但应该只使用return !!conf;

标签: javascript jquery confirm


【解决方案1】:

我没有写入 $(document).ready(function(){});

喜欢:

$("a.del").click(function(){
    var conf = confirm("Confirmation message"); 
    if(conf == true)
        return true;
    else
        return false;
});

【讨论】:

  • 你知道吗,这就像腿疼,把你的腿砍掉,声称你的腿不会再那么疼了。
  • 或者喜欢射信使。
  • 嘿,我只是问一个问题,解决它并与其他人分享。我从 2 天开始就在尝试。 @davin 我无法分享解决方案。
  • 我知道这已经很晚了,但这是一个坏主意的原因是,如果您不等到页面加载后才访问 DOM 元素,那么您就是在创建竞争条件。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多