简体   繁体   中英

JQuery click event, not working

I have the following scenario.

I have a index.php page with the following JQuery code included

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');

         });
    });
});

Now I have two div tags called #main and #right in the index.php page. When I click on a menu item right changes to a bunch of images, if I click on one of those images the above code should take effect and load into the main div, but it's just not working. the images are located within a div called sIMG. Any help will be appreciated

Try using live

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

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

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

I think what you're doing is setting "click" on the array that is return there. Try this:

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

    });
});

jquery点击不起作用的原因之一是你在表单中对id进行了重复。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM