0
我想解決以下情況:事件冒泡和鏈接事件的委託
我有一個鏈接,它有一個單擊事件(它執行一些Ajax操作)。點擊操作是默認的Rails,它將執行一個遠程操作(執行javascript)。我想要的是與單擊下面的HTML結構li元素時,調用此上單擊事件:
<li>
<img src="images/img.png" />
<a href="/remote/path" data-remote="true">Link</a>
</li>
li元素上的點擊應該觸發點擊事件,並呼籲其他一些功能(在設置活動類李元素)。
的問題是:1。 如果我綁定李單擊事件並調用點擊鏈接時,會造成死循環 2.如果我把一個stopPropagation()的鏈接,也不會調用原始功能,執行遠程請求
什麼是最優雅的解決方案呢?
下面是我目前擁有的jcode:
$(document).ready(function() {
$("#some_list a").click(function(e) {
alert("action on a");
e.stopPropagation();
});
$("#some_list li").click(function(e) {
alert("call some function");
$(this).find('a').trigger("click");
});
});
這不會引起遞歸循環,但它西港島線阻止我希望觸發的鏈接(通過導軌或UJS庫設置)的默認操作。
我想我必須改變鏈接上的點擊動作的順序,並在鏈接的最後一個動作之後改變stopPropagation()的順序?
或者也許有更好的解決方案來重構HTML並自己調用遠程函數?
感謝您的幫助
那麼,它說,警報(URL)只是window.location的或任何AJAX調用替換。如果您有任何問題,請告訴我。 –