9

タグで使用する.click()と、要素をクリックしたときにのみイベントが機能します。<a>それ以外の場合、ユーザーが右クリック > 新しいウィンドウで開くまたは新しいタブで開くを実行しても、click()イベントはトリガーされません。

click()だから、私の質問は...ユーザーが右クリック>新しいタブ/ウィンドウで開くときにイベントをトリガーするにはどうすればよいですか?

HTMLは次のとおりです。

<a href="url">Click Me</a>

Js は次のとおりです。

$("a").click(function(){
  alert('You clicked me!');
});
4

1 に答える 1

3

このコードを試すことができますが、UI を変更することはお勧めできません。

var addEvent = (document.addEventListener) ?
    function(target,event,fn){
        if(target) return target.addEventListener(event,fn,false);
    }:
    function(target,event,fn){
        if(target) return target.attachEvent(('on' + event),fn);
    },
allLinks = document.links || document.getElementsByTagName('a');
for(var i=0;i<allLinks.length;i++)
    addEvent(allLinks[i],'mouseup',function(e){
        var e = e  || event;
        if(e.which===3){
            alert('Open in new tab/window');
            e.preventDefault();
            return false;
        }
    });
于 2012-05-27T15:16:29.420 に答える