jQuery与Magento中的原型冲突
jQuery conflicting with prototype in Magento
我在Magento安装了这个jQuery:
jQuery(document).ready(function($) {
"use strict";
var firstItems = $('.item.first');
// Find tallest .item per row; match rest of row to it
firstItems.each(function($) {
var $first, row, headings, heights, maxHeight;
$first = $(this);
row = $first.add($first.nextUntil(firstItems));
headings = row.find("h2, h5");
heights = headings.map(function($) {
return $(this).outerHeight();
});
maxHeight = Math.max.apply(null, heights);
headings.css("height", maxHeight);
});
});
遗憾的是,它与Prototype相冲突。它抛出错误:
[object object] is not a valid argument for 'Function.prototype.apply'
这让我相信冲突来自第15行:
maxHeight = Math.max.apply(null, heights);
有没有什么方法可以用不同的方式包装这个函数,让原型忽略它?
您是.applying
一个jQuery对象,其中它应该是一个数组。
heights = headings.map(function($) {
return $(this).outerHeight();
}).toArray(); //<-- convert to array
原型库没有添加Function.prototype.apply
,它是一个本地方法。
您可以尝试:
jQuery(function($){
code_with_$;
});
和
(function($){
code_with_$;
})(jQuery);
您还需要在原型之上声明jQuery。(您可以使用page.xml来定义jQuery在原型之上的位置。)然后使用上面提到的结构使用您的jQuery代码,它将解决您的问题。
相关文章:
- 使用“;这个“;JavaScript原型方法中的关键字
- 引用类变量中的原型方法
- 如何从对象的原型方法访问JavaScript对象属性
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- javascript对象原型与jquery冲突
- 原型与Undercore冲突
- Magento Jquery引导程序和原型冲突?导航标签不起作用
- Jquery原型与新函数冲突
- 与原型javascript冲突
- jQuery与Magento中的原型冲突
- 业务催化剂原型核心.ashx 拒绝设置不安全的标头“连接”冲突
- 使用冲突的事件侦听器将对象分隔到原型链中
- Jquery与原型magento冲突 - 我怎样才能分开
- 如何避免 jquery 与原型的回调函数中的 $ 冲突
- Jquery与Magento原型冲突
- 这会与原型相冲突吗
- 原型线程并发冲突
- 当在同一网页上同时使用jquery和基于原型的组件时,会产生冲突
- JavaScript:增强对象/函数原型,避免名称冲突
- jQuery无法正常工作,可能与原型冲突