我正在使用为jQuery 1.9.1设计的脚本,并且有这一行:
jQuery('.mean-expand').on("click",function(e){
我正在使用jQuery 1.6.2的网站上工作,我收到错误,参考上面的代码:
TypeError: jQuery(...).on is not a function
有没有办法改变这个功能,所以它可以用于jQuery 1.6?
编辑 - 我不想升级jQuery,因为有些脚本运行失败,后来的jQuery,我发现后来的jQuerys是更大的文件。
答案 0 :(得分:2)
由于该特定语句未使用委托事件处理程序,因此您可以简单地使用此
jQuery('.mean-expand').click(function(){...});
答案 1 :(得分:2)
如果你想保留jquery 1.6.x,你可以添加1.9.x;
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.x.js"></script>
然后,
<script type="text/javascript">
var j_1_9_x = $.noConflict(true);
(function($){
// Write jquery 1.9.x related code here
$('.mean-expand').on("click", function(e){ ...
}(j_1_9_x ));
</script>
或者您可以将您的功能更新为;
jQuery('.mean-expand').click(function(){...
以使其以1.6.x运行
答案 2 :(得分:1)
由于.on
是一种重新组合.bind()
和.live()
功能的新方法,因此您应该可以让代码与其中一个一起使用。
从我看到的,您正在使用直接绑定(如果您需要有关直接绑定的更多信息,请查看.on()
方法的jQuery文档),.bind
就是您所需要的。
将.on()
更改为.bind()
:
jQuery('.mean-expand').bind("click",function(e){...});