按钮响应右键单击

时间:2018-04-26 01:49:55

标签: javascript jquery html mouseevent contextmenu

据说,我的按钮应该在点击时显示下一个项目,它应该只听左击。事实证明它也可以响应右键单击。我怎么能阻止这个?

我搜索了右键点击,大部分答案都是关于" contextmenu"。

https://api.jquery.com/contextmenu/

  

当单击鼠标右键时,但在显示上下文菜单之前,会将contextmenu事件发送到元素。如果按下上下文菜单键,则在html元素或当前聚焦的元素上触发事件。

我的代码看起来像这样。



import org.apache.spark.sql.functions._
val nan_columns = df.schema.filter(x => x.dataType == DoubleType || x.dataType == FloatType).map(_.name)
df.filter(!nan_columns.map(x => isnan(col(x))).reduce(_ or _))




当我点击右键时,控制台会打印

.on("mousedown", ".down-arrow", $.proxy(function (e) {
		//do something
		console.log("Left click");
	}, this))

.on("contextmenu", ".down-arrow", $.proxy(function (e) {
		console.log("Right click");
		e.preventDefault();
		return false;
	}, this))

希望有人可以提供帮助。

Edit2:我改变了#34;点击"到了" mousedown"

2 个答案:

答案 0 :(得分:0)

我认为你只需要停止事件传播。

var button = $('input');

$(document.body).on('click', '.down-arrow', function (e) {
	console.log("Left click");
});

$(document.body).on('contextmenu', '.down-arrow', function (e) {
	return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="down-arrow">DOWN ARROW</span>

修改:编辑了我的帖子,将活动绑定到body

编辑2 :该按钮不响应右键单击,如用户所述。

答案 1 :(得分:0)

所以,我为解决问题所做的就是使用

event.which

这是我的代码:

&#13;
&#13;
.on("mousedown", ".down-arrow", $.proxy(function (e) {
		//do something
    if (e.which === 1) {
    var interval = setInterval (function() {
		console.log("Left click");
    }, 50);
    } else {
      console.log("This won't work");
    }
}, this))
&#13;
&#13;
&#13;