出现此错误:
prototype.js:5653 Uncaught TypeError: element.attachEvent is not a function
prototype.js:2304 Uncaught TypeError: Cannot read property 'length' of undefinedElement.Methods.hasClassName
prototype.js:5653 Uncaught TypeError: element.attachEvent is not a function
prototype.js:5653 Uncaught TypeError: element.attachEvent is not a function
prototype.js:5644 Uncaught TypeError: element.attachEvent is not a function
prototype.js:5734 Uncaught TypeError: element.dispatchEvent is not a function
kam-black-cargo-trousers-38-inch-leg:2904 Uncaught TypeError: $(...).fancybox is not a function
我认为这可能是一个jquery冲突问题,任何人都可以建议检查。
编辑:
此处正在调用Fancybox代码:
$('.sm_quickview_handler').fancybox({
title: null,
width : '75%',
height : '90%',
autoSize : 1,
scrolling : 'auto',
type : 'ajax',
openEffect : 'fade',
closeEffect : 'fade',
helpers :{
overlay : {
showEarly : true
}
},
beforeShow : function(){
var $this = this.element, _parent = $('.quickview-main');
if(_parent.length > 0 ){
var _price_box = _parent.find('.price-box');
if(_price_box.length > 0){
if($('[id]',_price_box).length > 0){
$('[id]',_price_box).each(function(i, el){
var id_price = $(el).attr('id');
$(el).attr('data-idprice',id_price );
$(el).attr('id',id_price+'_clone');
});
}
}
}
if(typeof product_zoom){
product_zoom = 'undefined';
}
},
afterShow : function(){
if( _check_tem_def){
product_zoom_ = new Product.Zoom('image', 'track', 'handle', 'zoom_in', 'zoom_out', 'track_hint');
}
if(_ceck_tem_rwd){
ProductMediaManager.initZoom();
ProductMediaManager.wireThumbnails();
}
if(typeof initcajax != 'undefined' && $.isFunction(initcajax)){
initcajax();
}
if(typeof updateProductCompareLinks != 'undefined' && $.isFunction(updateProductCompareLinks)){
updateProductCompareLinks();
}else{
$("a.link-compare").on ("click",function(e){
e.preventDefault();
urlcompare = $(this).attr("href");
urlcompare = urlcompare.replace("catalog/product_compare/add","quickview/index/compare");
window.location = urlcompare;
return false;
});
}
if(typeof updateWishlistLinks != 'undefined' && $.isFunction(updateWishlistLinks)) {
if(enable_ajax_wishlist){
updateRemoveWishLinks();
if(islogin=="1"){
//setInterval("updateWishlistLinks()",100);}
updateWishlistLinks();
}
updateWishlistAddCartLinks();
}
}
},
beforeClose : function () {
if( _check_tem_def){
product_zoom_ = 'undefined';
}
if(_ceck_tem_rwd){
ProductMediaManager.destroyZoom();
}
},
afterClose : function(){
}
});
setInterval(function(){ _SmQuickView(); } ,1000);
});
关于它可能会导致这种情况无效的任何想法?
由于
答案 0 :(得分:0)
尝试在无冲突模式下运行jQuery。这将阻止与Prototype的任何潜在冲突。
https://api.jquery.com/jquery.noconflict/
然后让Fancy box工作使用jQuery而不是$。所以
的jQuery( 'sm_quickview_handler')。的fancybox .....
答案 1 :(得分:0)
在fancybox jquery start之前放置以下行。
jQuery.noConflict();
全部用jQuery替换所有$
由于