2011-04-22 68 views
1

我有以下腳本:選擇事業部在JQuery中沒有選擇父股利

$("#border-radius").click(function(){ 
var value = $("#border-radius").attr("value"); 
    $("div.editable").click(function() { 
    mySQLinsert(value, '2', this.id) 
    $(this).css({ 
    "-webkit-border-radius": value 
    }); 
});      

});

基本上,「#邊框半徑」ID是一個文本輸入。你輸入一個值,單擊文本框(不能找出解決方法),然後單擊類「可編輯」的div,它將應用樣式「-webkit-border-radius」(我知道它不是跨瀏覽器),到該DIV。

mySQLinsert函數使用Ajax將mySQLinsert函數的值通過php頁面發送到mySQL數據庫(沒什麼特別)。

問題:當我點擊了孩子的div(一個div的DIV中)它也適用此值的父對象,並運行mySQLinsert功能,並將其存儲在數據庫中

我需要能夠根據點擊哪一個來單獨選擇父母和孩子。

+0

我不太明白。你想停止冒泡點擊事件嗎? – Andre 2011-04-22 04:59:08

+0

我不確定這是什麼意思。 – 2011-04-22 05:03:47

+0

基本上,如果我在div「b」中包裝div「a」並嘗試通過點擊div「a」來應用border-radius樣式,它會自動將它應用於div「a」和「b」 – 2011-04-22 05:04:41

回答

2

您可以使用stopPropagation()來防止點擊冒泡到其父元素。

$("#border-radius").click(function(){ 
    var value = $("#border-radius").attr("value"); 
    $("div.editable").click(function (e) { 

     // Note the parameter e passed in the function above 
     e.stopPropagation(); 

     mySQLinsert(value, '2', this.id) 
     $(this).css({"-webkit-border-radius": value}); 
    });      
}); 
+0

太棒了。謝謝傑夫,那正是我需要的。 – 2011-04-22 05:08:04

+0

@泰勒 - 沒問題:) – 2011-04-22 06:07:35