手动触发div的click事件

时间:2013-11-05 09:56:09

标签: jquery events

我有一个div有很多div。当绑定div时,我为每个项目创建点击事件,如下所示

    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

    }

在UI中单击div时会触发此操作,但是当我尝试手动执行此操作时,它不会被触发。任何关于如何触发的帮助都会很棒。 我对div值进行了硬编码并尝试调用但没有用。

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

即便如此

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

3 个答案:

答案 0 :(得分:15)

你拥有的不是有效选择器。你将几乎是HTML的东西传递给了jQuery函数,所以它不知道如何处理它。

如果您的元素的ID为13,那么您只需执行以下操作:

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

如果你想模拟每一个点击,也许更好的方法是再次迭代你的收藏:

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

答案 1 :(得分:2)

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

$("#yourdesiredselementsid").trigger("click");

答案 2 :(得分:1)

给你的外部div一个类名

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

然后

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

alert('hey');
  });