Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 如何对HTML表格中的右键单击作出响应;单元格“;(td)在流星计划中?_Meteor - Fatal编程技术网

Meteor 如何对HTML表格中的右键单击作出响应;单元格“;(td)在流星计划中?

Meteor 如何对HTML表格中的右键单击作出响应;单元格“;(td)在流星计划中?,meteor,Meteor,假设: 我有一个加载模板的HTML页面。 模板名称为scheduleTable。 模板描述了一个HTMLTable,其中(当然)有各种trs和tds,还有一个使用CSS类“tddetails1” 如果我想用JavaScript响应右键单击“tddetails1”元素,我想我需要在js文件中编写类似这样的代码: Template.scheduleTable.events({ "right-click .tddetails1": function (event) { // do so

假设:

我有一个加载模板的HTML页面。 模板名称为
scheduleTable
。 模板描述了一个HTMLTable,其中(当然)有各种
tr
s和
td
s,还有一个使用CSS类
“tddetails1”

如果我想用JavaScript响应右键单击
“tddetails1”
元素,我想我需要在js文件中编写类似这样的代码:

Template.scheduleTable.events({
    "right-click .tddetails1": function (event) {
    // do something 
  });
但我可以使用什么事件?没有“右键单击”事件,我不想捕获“常规”(左键)单击。我是否注定要在每个
td
中使用html按钮,并响应他们的点击事件

更新 是的,克里斯蒂安的回答是“当场”;这项工作:

HTML
只需使用
mousedown
事件处理程序并检查
event.button==2

Template.scheduleTable.events({
“mousedown.tddetails1”:函数(事件){
如果(event.button==2){
//此代码将在右键单击时运行
//做点什么
}
}
});
编辑:

要防止弹出关联菜单,请添加:

"contextmenu .tddetails1": function (event) {
    return false;
}

应该注意的是,使用
return false
而不是
event.preventDefault()
的意义在于
return false
基本上做了三件事:
event.preventDefault();event.stopPropagation();返回false
,而使用
event.preventDefault()
并返回将不会阻止事件冒泡。
if (Meteor.isClient) {

  Template.tblExpenseDescription.events({
    "mousedown .rc1": function (event) {
           if (event.button == 2) {
               console.log('date1 was right-clicked');
           }
      }
  });
}
"contextmenu .tddetails1": function (event) {
    return false;
}