2012-10-24 35 views
1

我希望能夠禁用打開/關閉摺疊在一組,而不是用戶要點擊哪個會做驗證的開放元素內繼續按鈕,然後打開下一個元素,當它準備好。我基本上使用可摺疊設置作爲嚮導。我一直在搜索文檔,並發現崩潰發生時我可以在哪裏捕獲事件,但我無法找到如何取消它。任何建議,或其他嚮導類型控件的建議,將做我正在談論我會很感激!jQuery Mobile的 - 關閉點擊可摺疊頭

+0

如果你可以捕捉事件,你想去阻止事件的進一步傳播史? http://api.jquery.com/event.stopPropagation/ –

+0

我會看看這個,如果它有效,我會讓你知道,你可以讓它成爲一個答案,所以我可以選擇它。 –

+0

我綁定了事件並設置了一個斷點並且代碼正在執行,事件不爲null,因此它獲取了某些內容,但stopPropagation沒有任何效果。我想,也許我只在Chrome得到一個發送者,而不是實際發生的事件,實際上是可摺疊已經出現該斷點命中之前,所以我覺得我的事件綁定jQuery的一個擴展/摺疊的面板之後發生的事情。 –

回答

9

經過多一點研究後,我終於找到了答案。在這裏發佈,希望對任何試圖將手風琴變成巫師的人都有幫助。

我的可摺疊的設置是這樣的:

<div data-role="collapsible" data-collapsed="false" id="col1" > 
    <h3>Title</h3> 
    <p> 
     <input type="text" /> 
     <input type="button" value="Next" onclick="nextClicked(1);" /> 
    </p> 
</div> 

要停止工作的點擊,但保持能夠觸發展開我使用這個jQuery:

$(document).ready(function() { 
    $("#col1 h3 a").click(function (event) { 
     return false; 
    }); 
}); 

我一直在使用的preventDefault嘗試並停止傳播,但這些都沒有。顯然返回false會做一些額外的工作,以及這兩個。

編輯:我發現它可以在瀏覽器中使用,但並不妨礙它在移動設備上的使用,爲了防止它在移動設備上也必須捕捉輕拍事件,但要小心,必須在標題上進行操作不是整個可摺疊的或可摺疊的按鈕中的任何元素都不會註冊。這是我使用的代碼:

$("#col1 h3").on("tap", function (event, ui) { 
    return false; 
}); 
+0

確認,添加'返回false'對我來說也使用了preventDefault()。 。 。謝謝。 –