无法在 Salesforce Lightning 页面中禁用右键单击

Not able to disable right-click in Salesforce Lightning Page

如果使用 javascript/jquery 在 html 页面中完成,问题就很简单了。但不适用于 Salesforce Lightning 页面。 我想禁用 ui:inputText 但无法执行,因为它不支持 contextmenu 事件。 我能够正确检测到右键单击,但未能使用 mousedown 事件和 return false.

禁用它

下面是我的代码

<ui:inputText aura:id="phid" class="input-data phoneTxt" value="{!v.phno}" keydown="{!c.checkKey}" maxlength="10"
                      cut="{!c.showresult}" mousedown="{!c.showresult}" updateOn="cut keydown keyup keypress mousedown"  />

控制器

preventAction : function(component, event, helper) {
    //console.log(event.getParams('button'));
    console.log(event.getParams());
    if (event.getParams().domEvent.button==2){
        //alert("Right Click is not Allowed");
        //event.getParams().domEvent.preventDefault();
        //event.getParams().domEvent.stopPropagation();
        event.getParams().domEvent.returnValue = false;
    }
}

注意:我之前试图禁用右键单击剪切、复制和粘贴,但想到仅禁用右键单击应该可以解决问题。

请提出一些解决此问题的方法。

提前致谢。

嗨,这个对我有用。在组件中添加这个,

  <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>

在controller.js中添加这个

  doInit : function(component, event, helper) {
       document.addEventListener('contextmenu', event => event.preventDefault());
  },