Jquery“实时”单击事件未在锚标记内触发

时间:2011-09-06 11:31:49

标签: jquery anchor

单击关闭图标时,点击事件设置无法触发。

活动如下:

var addTabRemoveEvent = function(tabs) {

    $('.tab-close').live( 'click', function(e) {
        e.stopImmediatePropagation();
        tabs.tabs('remove',tabs.tabs('option','selected'));
    });
};

close类在一个范围内,例如:

<a href="#tabs-1"><span class="tab-name">Tab 1</span><span class="tab-close"></span></a>

我在“tab close”上使用的CSS如下:

.tab-close { cursor:pointer; margin-left:5px; width:11px; height:11px; display:inline-block; background:transparent url(../images/button_hide.gif) !important;  }

请注意,这个设置在过去运作得很好,但由于某种原因已停止工作。例如,使用1.9里程碑Jquery UI版本进行测试工作正常。向下评分为1.8.16,似乎已停止工作。可能还有其他原因。

将关闭位置放在锚点之外是一个选项,但我想暂时忽略这个选项,因为此设置之前已经有效,并且与我的项目当前设置配合良好。

非常感谢任何帮助。

我添加了一个用于窥视的JSFiddle:http://jsfiddle.net/MezfS/1/

2 个答案:

答案 0 :(得分:3)

使用委托并在锚点捕获click事件解决了我的问题:

http://jsfiddle.net/MezfS/21/

答案 1 :(得分:1)

嘿,当我将点击事件更改为:

$('.tab-close').bind('click', function(e) {...

使用bind而不是live它运行正常。现在,如果您也动态添加它们,那么从经验中添加一个后它可能无效。