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
已弃用,您应该使用 on
或 delegate
(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
已弃用,您应该使用 on
或 delegate
(1.7 之前的版本)
谁能帮我一个我以前从未使用过的“on”以上是关于livequery 在 ie 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章