event.returnValue = false替换在IE 11中不起作用的preventdefault

时间:2014-04-07 19:42:01

标签: javascript cross-browser internet-explorer-11

以下在IE 11中除外,其他方法都可以正常工作:

if( event.keyCode == 18 )
{
    event.preventDefault ? event.preventDefault() : event.returnValue = false 
    altcurrentstate = "keyisdown";
    Xmouse = x; 
    Ymouse= y;
    return false;   
}

我也试过了这个网站提供的其他方式,但不管怎么说,无论如何,对于alt和箭头键,IE 11中的preventDefault似乎都不行。 event.returnValue = false;技巧也无效。不使用return false ...

2 个答案:

答案 0 :(得分:2)

在回调函数中尝试return false

答案 1 :(得分:-1)

也许您需要使用initEvent()方法取消活动。

根据this page底部的评论:

If you cannot cancel the event, calling IDOMEvent::preventDefault has no effect.
When you create a custom event by using the IDocumentEvent::createEvent method, you can set the IDOMEvent::cancelable property by using the IDOMEvent::initEvent method.