在jQuery中不触发超链接点击事件

时间:2011-12-31 11:00:41

标签: javascript jquery ajax

这是我的完整JS代码:

  var timeOutId;
    function ft(){
        $.get("progress.txt", null, function(data){
            if(data.substr(0,10) == "MSG::MSG::"){
                $("#box").html(data);
                window.clearTimeout(timeOutId);
            }else{
                $("#box").html(data);
            }
        });
    };

    $(document).ready(function(){
        $("#box").corner('20px');
        $("#progress").hide();
    });

    $("#newm").click(function(){
        $("#progress").show();
        $("#list").html = $.ajax({
            url: "action.php",
            global: false,
            type: "POST",
            data: ({keyword : $("#keyword").value()},{format: $("#format").value()},{filename: $("#filename").value()},{list: $("#list").value()}),
            dataType: "html"
        });
        timeOutId = window.setTimeout("ft()", 10000);
    });

并且页面上有一个ID为“newm”的超链接,但点击链接不会触发ajax请求。有谁能告诉我出了什么问题?

1 个答案:

答案 0 :(得分:2)

描述

我已经尝试了您的代码,并认识到您对点击的绑定无效,因为此时DOM元素不可用。

您应该在$(document).ready()下绑定它,以确保在DOM绑定javascript / jquery之前html已完全加载。

这将使您的链接正常工作,但如果没有html来源,很难帮助您。 如果这样做无效,请发布{{1}}。