$(document).ready(function() {
// ............. Your jQuery Code goes here .............
//var myArray1 = new Array( "img1", "img2" , "img3", "img4");
var numImg = $('#thumbNail img').length; //number of images
var num = 0;
var curImg = 0;
//Prevent Image Dragging
$("img").bind('contextmenu', function(e) {
return false;
});
//Prevent Right Click on Mouse
$("img").bind("mousedown", function(e){
return false;
});
$(".leftThumbNail").live("click", function(){
alert("HY");
});
});
我试图让它在我点击“leftThumbnail”类中的图像时做出反应。该类在左侧面板上包含2个图像。每当我点击该课程中的任何图像时,似乎都没有发生。
我也尝试过:
$(".leftThumbNail").click(function() {
alert("HEY");
});
在我的“leftThumbNail”课程中,我有以下内容:
<div class="leftThumbNail">
<img id = "img1" src="img/thumb/image1.jpg" class = "image1Position" alt="Image 1">
<img id = "img2" src="img/thumb/image2.jpg" class = "image2Position" alt="Image 2" >
</div>
答案 0 :(得分:2)
好的,试试这个:
$('img').on({
contextmenu:function(e) {
e.preventDefault();
},
click:function(e){
if(e.which === 3){
e.preventDefault();
}
},
dragstart:function(e){
e.preventDefault();
}
});
$(".leftThumbNail").on('click', function(){
alert('HY');
});
执行以下操作:
e.which
特定于右键单击.on()
,您想要做的现代版'img'
的处理程序合并为一个.on()
声明进一步巩固它:
$('img').on({
contextmenu:function(e) {
e.preventDefault();
},
click:function(e){
if(e.which === 3){
e.preventDefault();
} else if($(this).hasClass('leftThumbNail')){
alert('HY');
}
},
dragstart:function(e){
e.preventDefault();
}
});
不再需要额外的处理程序......现在只需处理一个!
编辑修改为包含预防拖动(使用dragstart
处理程序执行)。同时将return false
更改为更合适的e.preventDefault()
以允许冒泡。