10

ユーザーがマウスの左ボタンまたは中央のボタンをクリックしたときに、jQuery-UI ダイアログ ボックスをポップアップとして表示したいと考えています。左クリックでは機能しますが(アラートボックスとその後のポップアップが表示されます)、中央では機能しません(アラートボックスもポップアップもありません)。私は何が欠けていますか?

$('a.external').live('click', function(e){
  if( e.which <= 2 ) {
    e.preventDefault();
    alert ("inside if");
  }
  popUp.start(this);
});
4

2 に答える 2

24

の代わりにmousedownまたはを使用します。そして (非常に古いバージョンの jQuery を使用している場合を除いて) の代わりに以下を使用します。mouseupclick.on().live()

$(document).on("mousedown", "a.external", function(e) {
   if( e.which <= 2 ) {
      e.preventDefault();
      alert ("inside if");
   }
   popUp.start(this);
});

...理想的には、リンクよりもはるかに近い親要素を使用しますdocument

デモ: http://jsfiddle.net/7S2SQ/

于 2013-06-16T06:45:34.097 に答える