为什么简单的点击功能找不到选择器?

时间:2013-10-17 15:40:41

标签: javascript jquery javascript-events onclick

我正在写一个非常快速的js模块,它打开并成像并淡出一个容器来显示图像。图像的标记如下:

<div style="margin-bottom:1px;" class="rsNavItem rsThumb front">
    <div class="rsTmb portfolio">
        <img src="http://www.mysterium.ch/revelation/pictures/revelation_highres_06.jpg"/>
    </div>
</div>

现在发生的事情是点击基本上淡出div然后显示容器。

loadSlide: function () {

            console.log('clicked');

            //$('.rsThumb').each(function () {
                var containerT = $('.rsnav-container'),
                containerB = containerT.find('.rsThumb');


            $('.rsThumb').click(function (e) {

                console.log('clicked again');

                e.preventDefault();

                var sliderObject = $('.collection #gallery-t-group').data('royalSlider');

                var s = this;

                // Lets make sure the body is activated
                $('body').addClass('rsSlider-active');

                $('.loader').show().transition({
                    opacity: 1
                }, 100, 'easeInOutQuart');

                // $('.socialbar-vertical-static').removeClass('activestate');

                $('.body').transition({
                    opacity: 0
                }, 100, 'easeInOutQuart');

                // After slider loads
                setTimeout(function () {
                    $('.body').transition({
                        opacity: 1
                    }, 500, function() {
                        $('.loader').transition({
                            opacity: 0
                        }, 500).hide();
                    });

                    theSliderActivated();
                    theSocialActivated();

                    sliderObject.updateSliderSize(true);

                    $('div#container').css('margin',0);
                }, 1000);

            });
            //});
        }

脚本也像这样在顶部:

init: function() {

            var app = this;

            this.fakingIt();
            this.loadSlide();
            this.unloadSlide();
            this.mobileNav();
            this.loadThumbs();
            this.royalSlider();
            this.thumbsSwitch();
            this.functionResize();
            this.theSocialActivated();
            this.slideEventChange();

            console.log('======> new.global.js');


        }

由于某种原因,它根本不会注册事件,甚至在点击任何注册表之后都没有注册控制台日志。

我在这里做错了吗?

干杯

1 个答案:

答案 0 :(得分:0)

确保您确实从文档就绪事件处理程序中调用init()。这将确保rsThumb div在绑定到其click事件时可用。

$(function(){
    init();
});