javascript不适用于通过无限滚动创建的内容

时间:2014-11-19 21:14:33

标签: javascript jquery cakephp

我正在构建一个类似Facebook的页面,这是一个无限长的页面,当您滚动越来越多时,新帖子会继续加载。

使用我正在使用的文本

来发表评论textarea
$('.comment-textarea').autosize();

并提交关于输入的评论我正在使用

$('.comment-textarea').keypress(function(e){
    if(e.which == 13 && e.shiftKey){

    } else if(e.which == 13){
        e.preventDefault();
        $(this).closest('.comment-form').trigger('submit');
    }

});

这些代码可以完美地处理打开我的网站时加载的内容。但是由于我的网站上有无限滚动功能,它对内容不起作用。经过大量研究后我才了解事件授权http://learn.jquery.com/events/event-delegation/,但我不确定它是否适用于我的情况,因为我试图使用它并且它没有帮助。

无限滚动,我正在学习本教程 http://miftyisbored.com/wp-tutorials/cakephp-infinite-scroll/

并使用此jquery插件https://github.com/paulirish/infinite-scroll

抱歉,我忘了提到我正在使用的autosize()方法 http://www.jacklmoore.com/autosize/

解决方案 任何人都在寻找解决这个问题的方法,看看 dm4web 的答案并使用

$('.comment-textarea').autosize();
$(document).scroll(function(){
    $('.comment-textarea').autosize();
});

使autosize()的代码可以使用无限滚动

2 个答案:

答案 0 :(得分:0)

使用

$('body').on('keypress','.comment-textarea',function(e){
    if(e.which == 13 && e.shiftKey){

    } else if(e.which == 13){
        e.preventDefault();
        $(this).closest('.comment-form').trigger('submit');

    }

});

http://jsfiddle.net/et2p2oyv/

编辑2:

再次追加调用$('。comment-textarea')。autosize();

http://jsfiddle.net/et2p2oyv/1/

答案 1 :(得分:0)

$('body').on('keypress','.comment-textarea', function(e){
     if(e.which == 13 && e.shiftKey){

    } else if(e.which == 13){
        e.preventDefault();
        $(this).closest('.comment-form').trigger('submit');
    }

});

这也行不通?