2

こんにちは、同様の投稿を見たことがありますが、私が達成したいことに答えるものはありません。ここでサンプルを作成しました http://jsfiddle.net/edgardo400/R6rVJ/

私が基本的に望んでいるのは、親でクリックが発生したときに子のIDを取得して変数に保存することです。これにより、変数 currentID を以下のコードに渡すことができます。それ以外の場合は、IDごとにこのコードを9回複製する必要がありますbox1~box9

 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();
        }
    });
});
4

3 に答える 3

7
$('#boxes').on('click', function(e) {
    var currentID = e.target.id;
    console.log(currentID);

......rest of code
于 2012-04-22T17:06:48.013 に答える
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... 

});

なぜあなたがこれをしているのかわかりませんが...

http://jsfiddle.net/nxTDA/を修正しました

于 2012-04-22T16:17:59.273 に答える
1

JavaScript では次のようになります。

var a = document.getElementById('#boxes');
a.onclick = function(e){
    console.log(e.target.id);
}
于 2014-02-21T11:44:26.900 に答える