2011-09-06 62 views
2

我在点击关闭图标时触发点击事件设置时遇到问题。Jquery“Live”点击事件未在定位标记内触发

事件是以下:

var addTabRemoveEvent = function(tabs) { 

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

的密切类是一个跨度内,例如:

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

我使用的“选项卡靠近”的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/

+0

你为什么要使用实时当标签似乎已经DOM里面? – dotty

+0

不知道是否这是问题,因为你说它已经工作过,但检查出[stopImmediatePropagation'的附加说明](http://api.jquery.com/event.stopImmediatePropagation/);它与你的兴趣相关,因为它讨论了使用'.live()'以及为什么这可能不起作用。 – Dereleased

+0

嗨dotty - 我已经离开了这个逻辑,但它创建动态标签的必要。 – HGPB

回答

1

嘿,当我改变了你的点击事件这样的:

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

使用绑定,而不是住它工作得很好。现在,如果您也是动态添加它们,那么在您添加经验之后,它可能不起作用。

+0

我想通了使用委派: $(“#贝选项卡的”)委托(“标签关闭”,‘点击’,功能(E){ – HGPB

+0

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