javascript - HTML Link 和 Jquery Live Only Works on First Try with a click

标签 javascript live jquery

我在链接上绑定(bind) jquery 实时事件时遇到了问题。当链接被添加到页面时,它工作正常,但是当另一个链接被添加到无序列表时,它需要两次点击才能在任一链接上触发点击事件。有什么想法吗?

$("div#website-messages ul li a").live("click", function() {
    var link = $(this);
    changeTab(link.attr("href"));
    $(link.attr("title")).focus();
    return false;
});

编辑:好的,我已经缩小了问题范围。如果我取出 return false,事件每次都会触发。问题是页面跳转到顶部。有什么想法可以阻止这种情况吗?

创建链接的代码:

Validation.validate = function() {
    var html = "";
    for (var i = 0; i < errors.length; i++) {
        html += "<li><a href='" + errors[i].tabid + "' title='" + errors[i].elementID + "'>" + errors[i].message + "</a></li>";
    }
    $("div#website-messages ul").html(html);
}

ChangeTab 函数

function changeTab(changeTo) {
    changeTo = changeTo.substr(changeTo.indexOf("#"), changeTo.length);
    $("#tabs div").hide();
    $(changeTo).show();

    $("ul.navigation li a").removeClass("selected");
    $("ul.navigation li a[href='" + changeTo + "']").addClass("selected");
}

已解决 我在文本输入上有一个模糊事件,这些事件被聚焦到验证它们。如果我单击其中一个错误并聚焦到第一个文本框,然后单击第二个错误,它将聚焦到第二个文本框但会触发模糊事件而不是聚焦。非常感谢大家的帮助和建议,这让我一整天都快疯了。

最佳答案

EDIT: OK I've narrowed down the problem. If I take out return false, the event fires every time. The problem is then the page jumps to the top. Any ideas to stop that?


尝试

event.preventDefault();

关于javascript - HTML Link 和 Jquery Live Only Works on First Try with a click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553543/

相关文章:

javascript - 使用 jQuery 显示/隐藏表头

javascript - 此处意外的模块导入或导出语句

生活在 jquery-1.9.1.min.js 中不工作

iphone - 如何使用数据包嗅探器确定应用程序是否使用 HTTP Live Streaming?

iphone - Wowza:需要将 rtp-live 流式传输到 iPhone

javascript - 使用 Json 的图表 js

javascript - XMLHTTP ReadyState 3 未在 Webkit 中更新

javascript - JQuery Mobile - JavaScript 何时加载到 DOM 中?

javascript - 一个简单的 jQuery/AJAX 查询

javascript - 如何选择当前元素的下一个元素