简体   繁体   English

脚本不适用于 FF

[英]script don't work on FF

Plugin's code is(i use this script - http://www.tanabi.com/js/jquery.imagemap.js ):插件的代码是(我使用这个脚本 - http://www.tanabi.com/js/jquery.imagemap.js ):

if(typeof ev.originalTarget.actualPosX == 'undefined'){
     jQuery.imagemap.ffGetPosition(ev.originalTarget);
}

i have an error on Firefox - ev.originalTarget is undefined , at 86 line我在 Firefox 上有一个错误 - ev.originalTarget 未定义,位于 86 行

and my code:和我的代码:

jQuery.fn.imagecoords = function() {
    return this.each(function(){
        jQuery(this).click(function(ev){
                        //var coords;
            var x = jQuery.imagemap.getEventX(ev);
            var y = jQuery.imagemap.getEventY(ev);
                        jQuery('#x').val(x+4);
                        jQuery('#y').val(y+2);
                        jQuery('#new_point').remove();
                        jQuery('#map').append('<a href="javascript:void(0)" id="new_point" class="bullet" rel="' + x + '-' + y + '" style="left: ' + x + 'px; top: ' + y + 'px; display: block; ">&nbsp;</a>');
                        return 0;
        });
    });
};

Your problem is that what jQuery is handing you is NOT the actual event object but some jQuery wrapper object around the real thing.您的问题是 jQuery 交给您的不是实际事件 object 而是一些 jQuery 包装器 ZA8CFDE6331BD49EB2AC96F 围绕真实事物。 You probably want ev.originalEvent.originalTarget here.你可能想要这里的ev.originalEvent.originalTarget

You need to check if ev.originalTarget is defined before accessing ev.originalTarget.something.在访问 ev.originalTarget.something 之前,您需要检查是否定义了 ev.originalTarget。

if(ev.originalTarget) { 
    if(typeof ev.originalTarget.actualPosX == 'undefined') {
        jQuery.imagemap.ffGetPosition(ev.originalTarget);
    }
}
else {
    // Handle undefined or null originalTarget
}

You could also use你也可以使用

if (typeof(ev.originalTarget) != 'undefined' && ev.originalTarget != null)

instead of代替

if(ev.originalTarget)

but if(ev.originalTarget) will be faster.但 if(ev.originalTarget) 会更快。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM