5

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();
4

3 回答 3

20

您拥有的不是有效的选择器。您正在将几乎是 HTML 的内容传递给 jQuery 函数,因此它不知道如何处理它。

如果您的元素的 ID 是1and 3,那么您只需执行以下操作:

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

如果您想模拟对它们中的每一个的点击,也许更好的方法是再次遍历您的集合:

jQuery.each(opts.items, function(i, item) {
    $('#' + item.key).trigger('click');
});
于 2013-11-05T10:02:16.510 回答
2

通过 Jquery 获取 Elements 并使用触发功能;)

$("#yourdesiredselementsid").trigger("click");
于 2013-11-05T09:58:06.963 回答
1

给你的外部 div 一个类名

  <div class="display">
   <div id="1"></div>
   <div id="2"></div>
    </div>

接着

$('.display').on('click','div',function (e) {

alert('hey');
  });
于 2013-11-05T10:58:26.867 回答