据说,我的按钮应该在点击时显示下一个项目,它应该只听左击。事实证明它也可以响应右键单击。我怎么能阻止这个?
我搜索了右键点击,大部分答案都是关于" 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"
答案 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
这是我的代码:
.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;