Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery-ajax响应中的按钮-没有对单击的响应_Javascript_Jquery - Fatal编程技术网

Javascript jquery-ajax响应中的按钮-没有对单击的响应

Javascript jquery-ajax响应中的按钮-没有对单击的响应,javascript,jquery,Javascript,Jquery,jquery 情况-只是从纯javascript升级到jquery-由浏览器不一致引起 加载时,页面在div中显示ajax请求的结果,该结果包括底部的OK按钮 以下人员未检测到单击“确定”按钮: $('[name*="srd_button_ok"]').click (function(){ alert("srd_button_ok clicked");}); $('[name*="test_div"]').click (function(){ alert("test_dv cl

jquery

情况-只是从纯javascript升级到jquery-由浏览器不一致引起

加载时,页面在div中显示ajax请求的结果,该结果包括底部的OK按钮

以下人员未检测到单击“确定”按钮:

$('[name*="srd_button_ok"]').click (function(){
    alert("srd_button_ok clicked");});
$('[name*="test_div"]').click (function(){
    alert("test_dv clicked");});
但是,另一个“测试按钮”位于同一页面的单独div中,永久显示在
中,可通过以下方式检测到:

$('[name*="srd_button_ok"]').click (function(){
    alert("srd_button_ok clicked");});
$('[name*="test_div"]').click (function(){
    alert("test_dv clicked");});
上述两项都在

jQuery(document).ready(function(){ ....});
我遗漏了什么或做得不对

谢谢你的建议

非常感谢,

Ivan Rutter

试试这个:

$('[name*="srd_button_ok"]').live('click', function(){
  alert("srd_button_ok clicked");
});
请尝试以下方法:

$('[name*="srd_button_ok"]').live('click', function(){
  alert("srd_button_ok clicked");
});
$()。单击(处理程序)将事件处理程序绑定到DOM层次结构中选定的元素。在您的例子中,OK按钮还不是DOM的一部分,因为它将异步加载(AJAX)

这里有两种解决方案。要么在AJAX加载完成后执行处理程序绑定代码,要么使用jQuery的.live()。

$()。单击(处理程序)将事件处理程序绑定到DOM层次结构中选定的元素。在您的例子中,OK按钮还不是DOM的一部分,因为它将异步加载(AJAX)


这里有两种解决方案。要么在AJAX加载完成后执行处理程序绑定代码,要么使用jQuery的.live()。

问题是,单击绑定发生在单独页面加载到div之前。您可以通过两种方式解决此问题:

  • 使用“live”绑定单击事件

    $('[name*="test_div"]').live('click', function(){ alert("test_dv clicked");});
    
  • 您可以在单击回调中初始化单击

    $('#loading_div').load('some/url', function(data) {
         $('#loading_div [name*="test_div"]').click(function(){ alert("test_dv clicked");});
    });
    

  • 问题在于,单击绑定发生在将单独页面加载到div之前。您可以通过两种方式解决此问题:

  • 使用“live”绑定单击事件

    $('[name*="test_div"]').live('click', function(){ alert("test_dv clicked");});
    
  • 您可以在单击回调中初始化单击

    $('#loading_div').load('some/url', function(data) {
         $('#loading_div [name*="test_div"]').click(function(){ alert("test_dv clicked");});
    });