触发功能不起作用的原因是什么? (jquery的)

时间:2015-04-29 08:15:26

标签: jquery jquery-trigger

我有以下代码。

当我从#searchbutton触发#tempbutton(以对象作为参数)时,它可以正常工作。但是,当我从#myid做同样的事情时,它不会触发。

任何想法我可能做错了什么?感谢

这是我的代码。请假设从某个地方调用getAjax。只是我必须剥离大量代码才能使其简短/可读。但那部分绝对有效。 :)

var onclickmyid = function(event, parameters) {
    event.preventDefault();

    console.log(event.data); //works. it displays the listlength passed

    $("#tempbutton").trigger("click", [ "test" ]); // works but obviously, it won't be an object
    //$("#tempbutton").trigger("click", [{ name:"test" }]); // doesn't work although it' the same as the one below
};

var onclicktempbutton = function(event, parameters) { console.log(parameters); }

var onclicksearchbutton = function(event) {
    event.preventDefault();

    $("#tempbutton").trigger("click", [{ name:"test" }]); //works
};

$(document).on("click", "#tempbutton", onclicktempbutton);

$(document).on("click", "#searchbutton", onclicksearchbutton);

function getAjax() {
    $.ajax({
        url: my-url-here
        , cache: false
        , dataType: "json"
        , data: {}
        , success: function(data, status) {
            displayTopicList({ data:data });
        }
    });
}

function displayTopicList(parameters) {
    $.each(parameters.data, function(index, option) {
        $("#mylinks").append($("<a></a><br />").attr("id", "myid"+option.id).attr("href", "javascript:void(0)");
    });

    $(document).on("click", "[id^=myid]", { listlength:parameters.data.length }, onclickmyid);
}

0 个答案:

没有答案