Tôi muốn tắt ngữ cảnh mặc địnhMenu khi người dùng nhấp chuột phải vào trường nhập để tôi có thể hiển thị ngữ cảnh tùy chỉnhMenu. Nói chung, nó khá dễ dàng để vô hiệu hóa menu chuột phải bằng cách làm một cái gì đó như:jQuery: preventDefault() không hoạt động trên các sự kiện đầu vào/nhấp chuột?
$([whatever]).bind("click", function(e) { e.preventDefault(); });
Và trên thực tế, tôi có thể làm điều này trên chỉ là về mọi yếu tố TRỪ cho các lĩnh vực đầu vào trong FF - ai biết tại sao hoặc có thể chỉ cho tôi một số tài liệu hướng dẫn?
Đây là mã liên quan mà tôi đang làm việc, cảm ơn các bạn.
HTML:
<script type="text/javascript">
var r = new RightClickTool();
</script>
<div id="main">
<input type="text" class="listen rightClick" value="0" />
</div>
JS:
function RightClickTool(){
var _this = this;
var _items = ".rightClick";
$(document).ready(function() { _this.init(); });
this.init = function() {
_this.setListeners();
}
this.setListeners = function() {
$(_items).click(function(e) {
var webKit = !$.browser.msie && e.button == 0;
var ie = $.browser.msie && e.button == 1;
if(webKit||ie)
{
// Left mouse...do something()
} else if(e.button == 2) {
e.preventDefault();
// Right mouse...do something else();
}
});
}
} // Ends Class
EDIT:
Xin lỗi, sau khi đọc các ý kiến tôi nhận ra rằng tôi nên làm rõ một vài điều.
1) Mã ở trên không hoạt động ... theo nghĩa nào đó. Mã có thể sắp xếp thông qua nút nào được nhấp, nó chỉ không quan tâm rằng tôi nói e.preventDefault() và menu chuột phải vẫn bật lên. Nói cách khác, nếu bạn đặt một cảnh báo trên e.button bạn sẽ nhận được 1 hoặc 0 của bạn cho trái và 2 cho đúng ... nhưng nó chỉ cười vào tôi và vẫn hiển thị menu mặc định chết tiệt!
2) Nếu tôi đặt bộ chọn jQuery trên bất kỳ phần tử nào khác (ngoài đầu vào) thì mọi thứ sẽ hoạt động, FF sẽ tôn trọng lệnh preventDefault() và menu chuột phải mặc định sẽ không hiển thị.
còn 'return false' thì sao? –
Ngoài ra, hãy thử 'e.which' thay vì' e.button'. – karim79
Có thể liên quan đến http://stackoverflow.com/questions/1489817/jquery-liveclick-firing-for-right-click – scott