livequery 在 ie 中不起作用

Posted

技术标签:

【中文标题】livequery 在 ie 中不起作用【英文标题】:livequery not working in ie 【发布时间】:2012-05-16 00:15:00 【问题描述】:

你好朋友们,我正在开发一个类似的模块。在 ie 上运行它时遇到了一些困难。在所有其他浏览器中运行良好。问题是当我点击喜欢按钮时,ie 中没有任何反应。任何人都可以看到我的代码并帮助我。 IE 太痛苦了。

           $('.LikeThis').livequery("click",function(e)

        var getID   =  $(this).attr('id').replace('post_id','');
        var uid = $('.like_uid').val();
        var type_id = $('.like_type_id').val();


        $("#shlike-loader-"+getID).html('<img src="images/icons/like.gif"  />');

    $.post("eg?postId="+getID+ '&uid=' + uid + '&type_id=' + type_id, 


        , function(response)
            $('#hiddenlikesval'+getID).remove();
            $('#likepanel'+getID).show();
            $('#likecontainer'+getID).append($(response).fadeIn('slow'));
            var bing=$('#hiddenlikesval'+getID).val();
            $('#lplbl'+getID).html(bing);
            $('#likePanel'+getID).css('display':'block','width':'404px','padding':'5px 3px 5px 3px','background':'#ECEFF5');
            $('#like-panel-'+getID).html('<input type="hidden" class="like_uid" id="like_uid'+getID+'" name="like_uid" value="'+uid+'"/><input type="hidden" class="like_type_id" id="like_type_id'+getID+'" name="like_type_id" value="'+type_id+'"/><div class="comtcontbtm unlwid"><a href="javascript: void(0)" id="post_id'+getID+'" class="Unlike liknlksh" title="Unlike"><span class="shareiconsbottom unlikeiconbtm"></span><span class="replyshare">unlike</span></a></div>');

            $("#shlike-loader-"+getID).html('');
        );
    );

【问题讨论】:

livequery 已弃用。你应该使用.live() @SLaks live 已弃用,您应该使用 ondelegate(1.7 之前) 从 jQuery 1.7 开始,不推荐使用 .live() 方法。使用 .on() 附加事件处理程序。 任何人都可以帮助我处理代码,如果它已被弃用,那么为什么它可以在除 IE 之外的所有其他浏览器中工作 【参考方案1】:

您使用的是 jQuery 1.7 吗?如果是这样,您应该使用on,不推荐使用livequery。如果您使用的是 1.7 之前的版本,则应使用 .delegate

对于 1.7,将您的函数声明更改为:

$(document).on("click", ".LikeThis", function (e) 
    //your stuff here
);

对于 pre-1.7 将其更改为:

$(document).delegate("click", ".LikeThis", function (e) 
    //your stuff here
);

开启:http://api.jquery.com/on/

代表:http://api.jquery.com/delegate/

【讨论】:

您好,感谢示例代码,我更改了整个代码,但问题仍然存在。在即它不工作 嗯,你能在你的问题中发布你的标记吗?是否抛出错误? 消息:对象不支持此属性或方法行:1725 字符:5 代码:0 如果您在 IE 中按“是”进行调试,那么引发错误的确切行是什么? 是的,这是确切的行,为了理解我使用 jquery 1.7.2 的开发人员版本的错误。仍然无法弄清楚问题是什么。【参考方案2】:
   $('.LikeThis').live('click', function (e) 
            var getID = $(this).attr('id').replace('post_id', '');
            var uid = $('.like_uid').val();
            var type_id = $('.like_type_id').val();


            $("#shlike-loader-" + getID).html('<img src="images/icons/like.gif"  />');

            $.post("modules/like/likeit.php?postId=" + getID + '&uid=' + uid + '&type_id=' + type_id, 


            , function (response) 
                $('#hiddenlikesval' + getID).remove();
                $('#likepanel' + getID).show();
                $('#likecontainer' + getID).append($(response).fadeIn('slow'));
                var bing = $('#hiddenlikesval' + getID).val();
                $('#lplbl' + getID).html(bing);
                $('#likePanel' + getID).css( 'display': 'block', 'width': '404px', 'padding': '5px 3px 5px 3px', 'background': '#ECEFF5' );
                $('#like-panel-' + getID).html('<input type="hidden" class="like_uid" id="like_uid' + getID + '" name="like_uid" value="' + uid + '"/><input type="hidden" class="like_type_id" id="like_type_id' + getID + '" name="like_type_id" value="' + type_id + '"/><div class="comtcontbtm unlwid"><a href="javascript: void(0)" id="post_id' + getID + '" class="Unlike liknlksh" title="Unlike"><span class="shareiconsbottom unlikeiconbtm"></span><span class="replyshare">unlike</span></a></div>');

                $("#shlike-loader-" + getID).html('');
            );
        );

【讨论】:

live 已弃用,您应该使用 ondelegate(1.7 之前的版本) 谁能帮我一个我以前从未使用过的“on”

以上是关于livequery 在 ie 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

flex 属性在 IE 中不起作用

.eot 在 IE 中不起作用

表格的边框在 IE 中不起作用

jquery/livequery 在这种特殊情况下不起作用

拖放到文件输入在 IE11 中不起作用

指针事件:没有在 IE 中不起作用