1

ばかげているように聞こえるかもしれませんが、私がやりたいのは、別の要素の上にある html 要素でクリックをトリガーすることです。

アンカーテキストをホバリングしている .cursor を取得したとしましょう。この場合、.cursor をクリックすると、Google ページが開きます。

<div class="cursor"></div> 
<div class="htmlPage">
    <a href="www.google.com">Google</a>
    <a href="www.facebook.com">Faccebook</a>
     <a href="www.stackoverflow.com">Stack</a>
</div> 

それを行う方法はありますか?

そしてこれはカウントされません

$('.cursor').click(function(){
     $('.htmlPage a').click();
})

カーソルは移動可能で、他のリンクをクリックできる必要があります。

Google のカーソル

カーソルは、Google ボタンの上にある青い円です。ここで私はグーグルにカーソルを持っています。今クリックするとグーグルにリンクするはずです。スタックをクリックするとスタックが開くはずです。

4

6 に答える 6

1

クリック時に「.cursor」の位置を取得し、各「.htmlPage a」の位置と比較して、window.location.href を重複する要素の 1 つに変更することができます。

$(".cursor").click(function(){
    var cursor=$(this);
    var cl = cursor.offset().left;
    var cr = cl+cursor.width();
    var ct = cursor.offset().top;
    var cb = ct+cursor.height();
    $(".htmlPage a").each(function(){
        var page=$(this);
        var pl = page.offset().left;
        var pr = pl+page.width();
        var pt = page.offset().top;
        var pb = pt+page.height();
        if(((cl>pl&&cl<pr)||(cr>pl&&cr<pr))&&((ct>pt&&ct<pb)||(cb>pt&&cb<pb))){
            window.location.href=page.attr("href");
        }        
    });
}).draggable();    

http://jsfiddle.net/EUmeB/

于 2013-07-12T18:37:29.947 に答える
0

イベント ハンドラーをカーソル クラスにアタッチします。

$('.cursor').on('click',function()
{
    window.location.href = $(this).siblings('.htmlPage').attr('href');
}

これは要素の兄弟を取得し、位置をその兄弟と等しくします

于 2013-07-12T16:52:08.490 に答える
0

もう少し明確に言うと、これが最善かもしれません。

$('.cursor').click(function(){
  $(this).next().children('a').click();
});
于 2013-07-12T16:52:26.247 に答える
0

これを試して:

デモ

// Target link in the next div, following div.cursor
$("div.cursor").click(function() {
    var link = $(this).next(".htmlPage").children("a").attr("href");
    window.location.href = link;
});
于 2013-07-12T16:50:15.550 に答える
0
$('.cursor').click(function(){
     $('.htmlPage a').click();
})
于 2013-07-12T16:50:18.373 に答える