在jquery中动态传递事件数据

时间:2014-04-14 14:15:19

标签: javascript jquery

请参阅以下HTML

<div class="Icon">
                <span>
                        <img src=""/>
                    </span>

            </div>

点击时,我会动态地将类"bootstrap-modal"添加到上面的IMG标记中。

$(".Icon img").on("click", function (e) {
            var data="some object";     
            $(this).addClass("bootstrap-modal");
    });

然后我再为bootstrap-modal类添加一个click事件,如下所示

$(document).on('click',"bootstrap-modal" function (e,data) {

//here i need to get data object 
});

如何将数据对象从img click事件传递给bootstrap-modal click事件?

这意味着我需要从之前的点击处理程序中获取一些值? 我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

将其保存在data

$('.Icon img').on('click', function(e) {
    var data = 'some object';
    $(this).addClass("bootstrap-modal").data('test', data);
});

$('.Icon').on('click', '.bootstrap-modal', function(e, data) {
    var data = $(this).data('test');
});

仅供参考:由于您使用的是最新版本的jQuery,因此最好使用on方法进行事件委派,而不是弃用live。这里.Icon应该是.bootstrap-modal的静态父元素。