2011-09-06 40 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