javascript - jquery Click事件不会触发

标签 javascript jquery css onclick

我不确定我的 closeContent(); 没有触发。我试图加载一些东西然后关闭它并使用 css3 制作动画。

我也想展示加载程序,但不确定它是最佳方法。

    $('.show-content').on('click', function (e) {
        e.preventDefault();
        openContent();
    });

    $('#load-content .prev').on('click', function (e) {
        e.preventDefault();
        closeContent();
    });


    function openContent(){

    $('#load-content').load('../views/product-page.html');

    $('.container').addClass('loaded', function () {
         //setTimeout(function () {
                $('#load-content').html('<img id="loader" src="../assets/images/bx_loader.gif">');
            $('#loader').css({border: '0', position: 'absolute', top: '26px', left: '50%', 'margin-left': '-26px'});
                console.log('loading???')
        //}, 60000);
    });

    $("#load-content").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
        $(this).addClass('animate');
        var body = $("body,html");

                body.animate({
                  scrollTop: 0
                }, 800);
    });
    }

    function closeContent(){
        var Loaded = !$(this).closest('.container').hasClass('.loaded');
        if (!Loaded) {
                $('.animate').removeClass('animate');
            $("#load-content").bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function () {
          $('.loaded').removeClass('loaded');
          $('#show-content').remove();
          });
        }           
    }

最佳答案

你需要传递this

$('#load-content .prev').on('click', function (e) {
    e.preventDefault();
    closeContent(this);
});

然后在函数中

function closeContent(ele){
     var Loaded = !$(ele).closest('.container').hasClass('.loaded');

如果 .prev 元素是动态添加的,则使用事件委托(delegate)。

$('#load-content').on('click','.prev',function(e){
    e.preventDefault();
    closeContent(this);
});

$(document).on('click','#load-content .prev',function(e){
    e.preventDefault();
    closeContent(this);
});

关于javascript - jquery Click事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22322743/

相关文章:

javascript - 将样式添加到随机加载的 div - 无法正常工作

html - 如何在网站中嵌入光栅字体?

javascript - 我无法在我的网站上向下滚动。不知道如何解决?

javascript - Gulp:如何按顺序组合任务?

javascript - Jquery load() 和 colorbox() 在一起

javascript - jQuery Ajax : Sucess Response parameter overwriting

javascript - f :ajax doesn't fire for onevent begin event

javascript - 等待客户端响应来运行代码socket.io?

javascript - 当元素不再适合容器时执行 JavaScript

html - 将包含元素的文本强制换行到最大宽度