您好我看过类似的帖子,但没有人回答我想要完成的事情 我在这里做了一个样本 http://jsfiddle.net/edgardo400/R6rVJ/
我基本上想要的是当父母点击发生时你得到孩子的id 并将其存储在一个变量中,以便我可以将变量currentID传递给下面的代码,否则我将不得不为box1到box9的每个id复制此代码9次
jQuery(currentID).delegate("a", "hover", function(event){
var $img = jQuery(this).parent("li").find('img');
var image = jQuery(this).attr('data-img');
jQuery('.defaultimg').stop(true, true).fadeOut();
if( event.type === 'mouseenter' ) {
if($img.length){
$img.show();
}else{
jQuery(this).parent("li").append('<img id="theImg" src="' + image + '" />');
}
}else{
if($img){
$img.hide();
}
jQuery('.defaultimg').stop(true, true).fadeIn();
}
});
});
答案 0 :(得分:7)
$('#boxes').on('click', function(e) {
var currentID = e.target.id;
console.log(currentID);
......rest of code
答案 1 :(得分:1)
如果您只希望使代码正常工作并在控制台上显示方框名称,则应该设置
jQuery('#boxes').bind('click', function(event) {
var currentID = jQuery(event.srcElement).attr('id');
/* rest of your code */
});
您可能想要做一些更容易的事情
jQuery('#boxes').children().bind('click', function() {
jQuery(this).delegate...
});
虽然我不确定你为什么要这样做......
答案 2 :(得分:1)
在javascript中它将是:
var a = document.getElementById('#boxes');
a.onclick = function(e){
console.log(e.target.id);
}