通过Javascript捕获右键单击,无需节点

时间:2009-05-25 18:34:49

标签: javascript localization flash swfobject right-click

使用除英语之外的任何其他语言时,Flash播放器在Firefox / Chrome中使用wmode =“window”以外的任何内容都存在错误。报告此错误但尚未修复

http://bugs.adobe.com/jira/browse/FP-501

这里可以更好地看待这个问题 -

http://www.5etdemi.com/blog/archives/2005/06/firefox-wmodetransparent-is-completely-screwy-and-breaks-textfields/

现在我的问题 - 我试图在我的应用程序中使用Uza的右键单击解决方案(http://www.uza.lt/blog/2007/08/solved-right-click-in-as3),但我遇到了wmode的问题。事件捕获似乎不适用于wmode =“window”,我也需要多种语言来处理我的应用程序。

有没有人确定的任何解决方案?或者有没有任何方法可以在不设置wmode的情况下捕获右键。

任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

幸运的是,您经常想知道是否点击了右键。由于W3C和Microsoft碰巧同意这个并且按钮的值为2,您仍然可以检测到右键单击。

function doSomething(e) {
    var rightclick;
    if (!e) var e = window.event;
    if (e.which) rightclick = (e.which == 3);
    else if (e.button) rightclick = (e.button == 2);
    alert('Rightclick: ' + rightclick); // true or false
}

http://www.rgagnon.com/jsdetails/js-0061.html

http://www.quirksmode.org/js/events_properties.html

http://unixpapa.com/js/mouse.html http://www.javascripter.net/faq/leftvsri.htm