脚本不能在FF上工作
script don't work on FF
插件的代码是(我使用这个脚本- http://www.tanabi.com/js/jquery.imagemap.js):
if(typeof ev.originalTarget.actualPosX == 'undefined'){
jQuery.imagemap.ffGetPosition(ev.originalTarget);
}
我在Firefox上有一个错误- ev。,在第86行
和我的代码
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; "> </a>');
return 0;
});
});
};
可以使用jQuery的event.target
。http://api.jquery.com/category/events/event-object/event.target
你的问题是什么jQuery是递给你不是实际的事件对象,但一些jQuery包装对象周围的真实的东西。这里可能需要ev.originalEvent.originalTarget
您需要检查是否有。originalTarget在访问ev.originalTarget.something之前定义。
if(ev.originalTarget) {
if(typeof ev.originalTarget.actualPosX == 'undefined') {
jQuery.imagemap.ffGetPosition(ev.originalTarget);
}
}
else {
// Handle undefined or null originalTarget
}
也可以用
if (typeof(ev.originalTarget) != 'undefined' && ev.originalTarget != null)
不是if(ev.originalTarget)
但是if(ev.originalTarget)会更快。
相关文章:
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- 可以'我没有集中精力在FF工作
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- jQuery不在Chrome中运行,在FF中工作
- window.location在IE9和FF中的工作方式不同
- 在<a>IE和FF不工作
- PHP/JavaScript 检查/取消检查在 FF 中工作,但在 IE 中不起作用
- Cookie不是在Safari,ios中设置的,而是在ie,ff,chrome中工作
- 未在IE中填充的列表框在FF和Chrome中工作
- 遍历 xml 在 FF 中工作正常,但在使用 jquery 的 IE 中则不行
- JavascriptExecutor(用于Selenium - Java)无法按FF 24.0的预期工作
- Javascript函数在IE中工作,但在FF,Chrome或Mobile Safari中不起作用
- event.preventDefault();停止在FF工作
- JQuery AJAX调用本地更新脚本在Safari中失败,在Chrome和FF中工作
- Ajax 调用在 chrome/safari 中工作,但在 ff 和 ie 中失败
- Video.js没有'我不在FF、IE工作
- 用于<脚本>在FF工作,而不是IE
- Flash播放器”;数据“;更新在FF中工作,但不能在x浏览器(twitch)中工作