2013-06-24 64 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

相关问题