2013-06-24 91 views
0

我的Ajax調用有問題。在成功函數中,我想觸發一個元素的點擊,但它不會觸發。點擊不會在jquery ajax中調用

下面是代碼:

$.ajax({ 
    url : '/test/'+clubID, 
    beforeSend:function(){ 
     $.mobile.showPageLoadingMsg(); 
    }, 
    complete:function(){ 
     $.mobile.hidePageLoadingMsg(); 
    }, 
    success:function(data, textStatus, jqXHR){ 
     if(!jQuery.isEmptyObject(data)) { 
      $('#camera-input').click(); 
      console.log($('#camera-input')); 
      console.log('click'); 
     } else { 
      toast('Il est possible de prendre des photos uniquement lors d\'une soirée'); 
      console.log('toast'); 
     } 
    } 
}); 

控制檯打印點擊的元素。有關這個問題的任何想法?

感謝您的幫助

+2

你是什麼意思「觸發點擊」?這會觸發點擊處理程序,但不會提示本機點擊行爲。 – lonesomeday

+0

你有沒有綁定到正在執行的點擊事件的代碼?確保你的綁定是實際設置的。 – CodeMonkeyForHire

+0

$('#camera-input')是否返回預期的元素?在調試器中調用它時,如果您想要調用的點擊處理程序實際上是綁定的,您還可以看到那裏。 – Sandro

回答

0

試試這個......這是我的研究,而不是我的經驗。沒有保證。

您可能需要將事件處理程序綁定到應觸發的元素的公共祖先。例如,如果你的#element得到一個div裏面附有家長的ID:

$("#parent").on("click", ".commenticon", function() { 
    //Do stuff 
}); 

這將是一個HTML結構如下所示:

<div id="parent"> 
    <div class="element"> 

    </div> 
    <div class="element"> 

    </div> 
</div> 

DOM事件冒泡從樹上指出它們的起源。 on()(以前的代理 - jQuery pre 1.7)方法捕獲祖先元素中的事件並檢查它是否源自與選擇器匹配的元素。

Source

0

試試這個,

$( '#相機輸入')觸發器( '點擊')。

+0

不起作用,click()是觸發器的快捷鍵('click') – bidou88

相關問題