2009-08-25 76 views
0

如果非要具有可選擇的細胞停止傳播到可選擇表

$("#selectTable").selectable({ filter: ">*>tr>td"}); 

和其中一個單元包含一個可拖動的div

$(".dragMe").draggable({}); 

HTML像這樣的表:

<table id="selectTable"> 
    <tr> 
     <td> 
     1 
     </td> 
     <td> 
     2 
     </td> 
     <td> 
     3 
     </td> 
     <td> 
     <div class="dragMe">drag me</div> 
     </td> 
    </tr> 
</table> 

如何阻止包含div的單元格被選中?

我相信股利將攔截表格單元格之前的單擊事件,但我在嘗試使用拖曳的元素,event.stopPropagation促使我無處那麼遠,

任何建議或提示使用拖動在一個可選擇的家長內將非常感激!

編輯: 似乎添加div元素的取消選項的選擇幾乎工程 -

$("#selectTable").selectable({ filter: ">*>tr>td", cancel: ':input,option,div'}); 

這樣可以防止被選中的股利,當你點擊它,而不是當你拖動+選擇它和周圍的元素。

編輯 我現在已經解決了這個,解決這一問題,可以發現here

+0

被添加類可選擇的cols的選擇嗎?這樣你可以過濾他們。 – stefita 2009-08-25 11:36:07

+0

嗯很好的建議,但我的可拖動元素可能只出現在某些行上,所以停止選擇整個列不是一個選項。 – RYFN 2009-08-25 11:57:26

回答

0

嘗試把return false在您拖動元素的點擊方法的結束。

+0

不幸的是,似乎沒有工作...但是,添加一個div到可選擇的取消選項幾乎可以工作。 – RYFN 2009-08-25 11:59:20

1

我知道這是一個老問題,但我有不在於有選擇的單元格的表內點擊標籤類似的問題。

如何如下:

<table id="selectTable"> 
<tr> 
    <td> 
    1 
    </td> 
    <td> 
    2 
    </td> 
    <td> 
    3 
    </td> 
    <td class="dragMe"> 
     <div>drag me</div> 
    </td> 
</tr> 

$("#selectTable").selectable({ filter: ">*>tr>td", cancel: ".dragMe"});