最奇怪的事情。
我有一个调用的函数:
var clicked_el = event.target.id;
此功能在FireFox中的此行中断。它适用于ie9,但不适用于8(因为ie8使用srcElement代替)。每次尝试抓住发起事件的元素的id都是我最终的完全熄火。
我认为有一种方法可以使用jQuery.Event
来平滑浏览器的错误,但我无法正常工作。
有人能告诉我更好的浏览器一致方法吗?
这是函数,它是我骨干视图的一部分。
open: function () {
iconState = true;
var self = this;
var clicked_el = event.target.id;
$('div.hr, div#footer_icons').animate({
top : '-=300'
}, 500, function () {
if (innerContentIsVisible === false) {
$('#a_close').fadeIn(500);
}
});
$('div#article').animate({
opacity : 0
}, 500,function () {
self.load_content(clicked_el);
});
},
更新
open
函数是从另一个函数调用的,当我调用open
函数时,我忘了传递事件参数,这就是它返回undefined
的原因。
这是现在传递event
param:
click: function(event) {
if (iconState === false) {
this.open(event);
} else {
var self = this;
var clicked_el_icon = event.target.id;
$('div#loaded_content').fadeOut(250, function() {
self.load_content(clicked_el_icon);
});
}
},
open: function (event) {
iconState = true;
alert(event);
var self = this;
var clicked_el = event.target.id;
$('div.hr, div#footer_icons').animate({
top : '-=300'
}, 500, function () {
if (innerContentIsVisible === false) {
$('#a_close').fadeIn(500);
}
});
$('div#article').animate({
opacity : 0
}, 500,function () {
self.load_content(clicked_el);
});
},
谢谢......我不会忘记这一课。
答案 0 :(得分:3)
您必须将“event”声明为“open”处理函数的参数。