我想禁用鼠标右键单击并且不要在Javascript中更改光标位置。这是我的代码示例:
<input id="PhoneNumber" style="width: 160px;" />
$('#PhoneNumber').mousedown(function (e) {
if (event.which > 1) {
e.preventDefault();
} else {
//Do some work
}
});
但这不起作用。当我用鼠标右键单击时,它会改变插入位置。
[增订] 适用于chrome。不在IE上工作
答案 0 :(得分:1)
您还需要订阅mouseup事件:
$('#PhoneNumber').on('mousedown mouseup', function (e) {
if (event.which > 1) {
e.preventDefault();
} else {
//Do some work
}
});
答案 1 :(得分:0)
您应该使用contextmenu事件并返回false:
$('#PhoneNumber').on("contextmenu", function(e) {
return false;
});
答案 2 :(得分:0)
您可以使用contextmenu
:
$('#PhoneNumber').contextmenu(function (e) {
e.preventDefault();
});
<强> Working Demo 强>
答案 3 :(得分:0)
$('#PhoneNumber').bind("cut copy paste contextmenu", function (e) {
e.preventDefault();
var pos = ($(this).getCursorPosition());
var index = $('#PhoneNumber').val().length;
if (index < 5) {
index = 5;
}
$(this).caretTo(index);
});
$('#PhoneNumber').click(function () {
var pos = ($(this).getCursorPosition());
var index = $('#PhoneNumber').val().length;
if (index < 5) {
index = 5;
}
$(this).caretTo(index);
});
$('#PhoneNumber').on('mousedown mouseup', function (e) {
if(event.which!=1) {
e.preventDefault();
e.returnValue = false;
}
});