jQuery在firefox中切换两次点击

时间:2015-03-13 14:52:23

标签: javascript jquery firefox

这适用于所有其他浏览器,但在Firefox中,我需要点击两次“显示更多评论”链接,以便点击我的点击事件。有任何想法吗?

$moreReviewsWrapper.toggle(function() {
    $(this).on('click', function(e) {
        e.preventDefault();
        var moreReviewEndpoint = $(this).data().more;
        if(moreReviewEndpoint) {
            $.ajax({
                type: 'GET',
                dataType: 'html',
                contentType: 'text/html; charset=utf-8',
                url: moreReviewEndpoint,
                beforeSend: function() {
                    $moreReviewsLink.text('Loading more reviews ...');
                },
                success: success,
                error: function(){
                    $moreReviewsLink.prop('hidden', false);
                    $moreReviewsLink.text(originalText);
                    $commonError.show();
                }
            });
        }
    });
}, function() { $(this).off(); });

1 个答案:

答案 0 :(得分:0)

你的jQuery结构对我来说有点奇怪。 toggle()是一个show / hide函数,第一个参数是duration参数。您正在向它传递一个创建事件处理程序的函数。我的猜测是jQuery最终运行该函数来评估它的数字(用作持续时间),然后设置你的事件处理程序。

我不确定toggle()应该在这里做什么,但将您的事件监听器移到toggle()之外会解决您的问题。