我试图在活动原型中添加一种方法。 为了打电话/打造preventDefault(
,或, in IE-speakreturn 数值 = 虚假
和――如果希望-stoppropagation(
/cancelBubble = 真实;
。 我认为以下法典已经足够了。
Event = Event || window.Event;
//^^ makes the fiddle work on IE8 ^^
if(!(Event.prototype.stopEvent))
{
Event.prototype.stopEvent = function(propagate)
{
"use strict";
propagate = (propagate ? true : false);
if (this.preventDefault)
{
this.preventDefault();
if (propagate === false)
{
this.stopPropagation();
}
}
else
{
this.returnValue = false;
this.cancelBubble = !propagate;
}
return this;
};
}
似乎在工作,,因为你可以在这里看到。 该网球显示:OK
,载于IE8, 火灾fox and chrome。 虽然在我的发言中加上这一点,但IE8打破了第一行,说。 页: 1 删除<代码>“严格”;根本不适用。
Reluctantly, I tried this, too:
if (typeof Event === undefined )
{
var Event = window.Event || window.event;//FFS IE :-(
}
But to no avail: Error: Event.prototype is null or not an object
, so I got 1 line further. The thing is, the entire prototype method is a copy paste from my script, but what am I overlooking here? Any idea s/suggestions?
Thanks
PS:我像Pure Javas一样,不建议 j、原型、 do......作为解决办法。 I ve Just gotten rid of jQuery. ∗∗∗∗
Update
情况使情况恶化,我恐怕。 I found thiMSsDN reference。 整页处理OMElement原型。 可以说,这种说法是完全公平的,并且可以在第8号(在某种程度上)中使用。 在该网页上,这部法典引起了我的注意:
Event.prototype.stopPropagation = function ()
{
this.cancelBubble = true;
};
Event.prototype.preventDefault = function ()
{
this.returnValue = false;
};
可在题为“代码”的栏目中查找下页数的~3/4。 我认为,这确实与我想要做的事情相同,但更重要的是:如果我通过黑手党来尝试这一法典,那就连工作了,而我的 j(有我的法典)确实在8国集团工作。 这只是最后几条刀子,但就我所能做的工作而言,这些几条法典应当只是罚款。 我将其改动如下:
Event.prototype.stopPropagation = function ()
{
if (this.stopPropagation)
{
return this.stopPropagation();
}
this.cancelBubble = true;
};
Event.prototype.preventDefault = function ()
{
if (this.preventDefault)
{
return this.preventDefault();
}
this.returnValue = false;
};