JQuery只在重新加载时调用bind()逻辑两次

JQuery只在重新加载时调用bind()逻辑两次,jquery,click,bind,Jquery,Click,Bind,我有以下代码: $(document).ready(function () { $("#Titles .item a").each(function (index, domEle) { // 1) $(this).ttip($.extend(true, {}, ttip_opts, { content: { text: $(this).attr('title'),

我有以下代码:

$(document).ready(function () {
      $("#Titles .item a").each(function (index, domEle) {
        // 1)
      $(this).ttip($.extend(true, {}, ttip_opts, {
                content: {
                    text: $(this).attr('title'),
                    title: {
                        text: "SomeText"
                    }
                }
            }));
       // 2)
            $(this)
                .bind("click", function (event) {
                    alert(this);
                })
                .attr('title', '');
        });
});
当我在页面上单击“重新加载”并单击链接时,警报语句会显示两次。在随后的单击中,它只显示一次

当我注释掉语句#1时,它每次只出现一次

这里发生了什么?如何使警报语句每次显示一次?在我循环的元素中只有一个锚元素

更新

即使我删除了与click事件的绑定,我仍然会在我的方法上得到两次单击(现在从另一个脚本调用)。因此,each函数只在重载时执行click()方法中的逻辑


仍然在试图弄清楚如何确定它是否在重新加载时被调用,所以我至少忽略了我不想运行两次的逻辑。

我认为
ttip
插件正在触发元素上的
click
事件,我认为这不是必需的。您可以尝试此操作,以停止事件传播

$(document).ready(function () {
      $("#Titles .item a").each(function (index, domEle) {
            // 2)
            $(this)
                .bind("click", function (event) {
                    alert(this);
                    return false;
            }).attr('title', '');

        // 1)
        $(this).ttip($.extend(true, {}, ttip_opts, {
                content: {
                    text: $(this).attr('title'),
                    title: {
                        text: "SomeText"
                    }
                }
        }));
    });
});

是否忘记放置“$(文档).ready(函数(){”结束标记?是..已验证结束标记在脚本中。该建议不太有效。更改前后顺序会导致ttip的对象引用无效。