Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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单击处理程序未在模式窗口内触发_Javascript_Jquery_Click_Modal Dialog_Simplemodal - Fatal编程技术网

Javascript jQuery单击处理程序未在模式窗口内触发

Javascript jQuery单击处理程序未在模式窗口内触发,javascript,jquery,click,modal-dialog,simplemodal,Javascript,Jquery,Click,Modal Dialog,Simplemodal,我有一个非常简单的点击处理程序,它在点击时发出AJAXGET请求,如下所示: $('span.switch-option').click(function() { $(this).parents('div.log-in-option').hide(); $(this).parents('div.log-in-option').siblings('div.log-in-option').fadeIn(); }); 这在网站上的任何其他地方都能完美地工作。但是,当我尝试在模式窗口内

我有一个非常简单的点击处理程序,它在点击时发出AJAX
GET
请求,如下所示:

$('span.switch-option').click(function() {
    $(this).parents('div.log-in-option').hide();
    $(this).parents('div.log-in-option').siblings('div.log-in-option').fadeIn();
});
这在网站上的任何其他地方都能完美地工作。但是,当我尝试在模式窗口内单击带有class
开关选项的
元素时,事件不会触发。但是,在控制台中输入click handler函数的内容并运行它们确实会执行所需的行为

为什么单击处理程序不会在此模式窗口中触发?我正在使用流行的SimpleModel插件和jQuery1.9.1

下面是一个实例:。如果您单击
50000次
或任何用户的声誉,然后尝试单击对话框中的蓝色大链接,则单击处理程序不会启动。这种行为也发生在不同模式窗口中的其他单击处理程序中。

当脚本(main.js)运行元素时,
'li.log-in,a.log-in'
在dom中不存在,它们在创建弹出窗口时动态加载,因此jQuery无法绑定事件处理程序

尝试事件传播

$(document).on('click', 'li.log-in, a.log-in', function() {
        $.get('/login/', function(data) {
            //make a modal window with the html
            $.modal(data);
        });
        return false;
    });

现在试试这个。我还更新了初始问题中的JS代码,因为我使用了错误的点击处理程序,但它根本没有改变问题。你是个巫师,这个解释很有道理。我现在觉得自己像个傻瓜了。@wnajar看到更新的答案,你可以在web中搜索动态元素和事件处理,使用jquery有很多问题处理都是一样的,所以它本身和web中的其他资源都是可用的