Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
851 views
in Technique[技术] by (71.8m points)

jquery - trigger click event of div manually

i have a div which has many divs.when binding the divs i create click event for each item like below

    jQuery.each(opts.items, function (i, item)
                    {
                        var image = opts.image;
                        jQuery('jQuery('<div class="' + opts.optionClassName + opts.controlId + '" id="' + item.key + '" ><img src="' + image + '" alt="checkbox" />' + item.value + '</div>')
                                .click(function ()
                                {')
                                        .click(function ()
                                        {

    //code goes here

    }

when the div is clicked in UI this gets triggered, but when i try to do it manually it does not get triggered. any help on how to trigger would be great. i hardcoded the div values and tried to call but it is of no use.

   var id1 = 'Car';
    var id2 = 'Bus';
    $('div class="CList" id="1" >' + id1 + '</div>').trigger('click');
    $('div class="CList" id="3" >' + id2 + '</div>').trigger('click');

even this

    var id1 = 'Car';
    var id2 = 'Bus';
    $('div class="CList" id="1" >' + id1 + '</div>')[0].click();
    $('div class="CList" id="3" >' + id2 + '</div>')[0].click();
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

What you have aren't valid selectors. You're passing something that's almost HTML to the jQuery function so it doesn't know what to do with it.

If the IDs for your elements are 1 and 3, then you'd just do:

$('#1, #3').trigger('click');

Perhaps a better way, if you want to simulate the click on each of them, is to iterate over your collection again:

jQuery.each(opts.items, function(i, item) {
    $('#' + item.key).trigger('click');
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...