2012-12-12 139 views
0

我嘗試使用twitter boostrap下拉插件進行可編輯的下拉菜單。 現在我有這樣的:http://jsfiddle.net/U9L2J/3/自定義twitter引導下拉

我想要做的就是把鉛筆圖標和刪除圖標在列表中的每個元素的權利(與<i class="icon-pencil"></i><i class="icon-remove"></i>)。當點擊這些圖標時觸發一個事件。 所以當這些圖標被點擊時,它不應該檢查元素的複選框。 所有我已經試過了,事情就破壞了列表的完全CSS ...

任何想法?

+0

這與您的示例沒有任何關係:「因此,單擊這些圖標時,不應檢查元素的複選框。」 –

+0

我已經更新了jsfiddle,現在好多了嗎?問題更清楚了嗎? – Antoine

回答

1

對於那些處理一個點擊,你就應該使用。對()映射起來:

$(".icon-remove").on("click", function(e){ 
    alert('clicked'); 
    e.preventDefault(); 
}); 

Your Updated Fiddle

編輯: 碼校正:

$("#layers-dropdown >.layers").on("click","li a label i.icon-remove", function(e){ 
     alert('clicked'); 
    e.preventDefault(); 
});​ 

Updated Fiddle with dynamic functionality

+0

如果我動態添加一個新圖層,該函數沒有與新圖標綁定,每次添加元素時都需要手動綁定它嗎?我以爲「上」自動執行它... – Antoine

+0

不,它會自動綁定;通過.on() – TNCodeMonkey

+0

@Antoine ahhh,我明白你在說什麼。我現在正在研究它。 – TNCodeMonkey

0

使用的preventDefault從被檢查停止複選框。

​$("i")​​.click(function(e){ 
    e.preventDefault(); 
    // some code here - do your thing! 
}​);​ 

http://jsfiddle.net/PcjNz/

當然,你應該結合不同的點擊事件到不同的圖標。這個例子只是防止被檢查的複選框...

+0

太棒了!謝謝 ! – Antoine

+0

這不處理動態內容綁定。 .click()事件只會綁定頁面上當前的元素。你在這裏尋找的是.on/live /等,將來會綁定到動態添加的元素。 – TNCodeMonkey

+0

其實我的主要問題在這裏不是動態綁定,但是,爲了防止被檢查 – Antoine