Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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/8/linq/3.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 - Fatal编程技术网

Javascript JQuery单击事件,不工作

Javascript JQuery单击事件,不工作,javascript,jquery,Javascript,Jquery,我有下面的场景 我有一个index.php页面,包含以下JQuery代码 jQuery(document).ready(function(){ jQuery('#sIMG img').click(function() { var currentSRC = jQuery(this).attr('src'); var altSRC = jQuery(this).attr('title'); var imgID = jQuery(this).at

我有下面的场景

我有一个index.php页面,包含以下JQuery代码

jQuery(document).ready(function(){
    jQuery('#sIMG img').click(function() {
        var currentSRC = jQuery(this).attr('src');
        var altSRC = jQuery(this).attr('title');
        var imgID = jQuery(this).attr('id');
        var cat = jQuery(this).attr('name');


        /*Fade, Callback, swap the alt and src, fade in */
        jQuery('#main').fadeOut('fast',function() {
            jQuery('#main').load("detail.php?id="+imgID+"&category="+cat);
            jQuery('#main').fadeIn('fast');

         });
    });
});
现在我在index.php页面中有两个div标记,分别称为#main和#right。当我点击一个菜单项时,右键会变成一堆图像,如果我点击其中一个图像,上面的代码就会生效并加载到主div中,但它就是不起作用。这些图像位于一个名为sIMG的div中。任何帮助都将不胜感激

请尝试使用

jQuery('#sIMG img').live("click",function(){
});
从jQuery1.7开始,不推荐使用.live()方法。用于附加事件处理程序

jQuery('#sIMG img').on("click",function(){
});

我认为您所做的是在返回的数组上设置“单击”。试试这个:

jQuery('#sIMG img').each(function() {
    jQuery(this).click(function() {

    });
});

jquery单击不起作用的原因之一是表单中有两个副本id。

右侧加载的图像(单击右侧的父图像后)是通过javascript插入的还是在页面加载时用css隐藏的?是否使用JS调试器?检查Firebug是否有任何错误消息。请详细说明“只是不工作”。它能跑吗?如果图像是动态加载的,则必须将其更改为:
jQuery(“#sIMG img”).live('click',function(){
是否需要将这样的事件处理程序绑定到jquery对象?为什么我必须使用.live才能完成此工作?是否因为我可能与此页面中提到的某个人有重复的ID?我更改了ID以确保其唯一性,但我仍然有相同的问题。使用.live工作,但我想知道为什么会发生这种情况?关闭jQuery 1.7应该使用.on()而不是live()。2017年,不推荐使用3.0 live,