根据我的规格,我必须在桌面和平板电脑中显示right click menu
。
我在桌面和平板电脑上使用相同的文件,所以我在Marionette.js
中编写了以下内容
密码:
events:{
//desktop events
"contextmenu td":"checkingDeviceType",
"contextmenu input":"checkingDeviceType",
//tablet events
"mousedown.LongTouch td":"checkingDeviceType",
"mousedown.LongTouch input":"checkingDeviceType",
},
checkingDeviceType:function(event){
var windowWidth=window.screen.width,self=this;
if (windowWidth>1024) {
//desktop view
this.renderingfRightClickFeature(event);
}else{
//tablet view
setTimeout(function(){
self.renderingfRightClickFeature(event)},
1000
);
};
},
renderingfRightClickFeature:function(event){
//logic is here
console.log("Right click menu code comes here");
}
根据规范,在desktop
中,如果用户按下右键,则会出现menu
。在tablet
中,同样的方式,在long press
事件中,会出现右键菜单。
我所面临的问题:
即使我在桌面上单击(左键单击),right click menu
也会出现。这意味着mousedown.LongTouch
事件触发。但它不应该在桌面上触发。
我希望你能理解我的问题。谁能帮帮我?
1条答案
按热度按时间lh80um4z1#
我找到了解决方案,我用
taphold
事件代替了mousedown.LongTouch
。现在它工作得很好。