2011-07-28 26 views
0

次のJavascriptに1つの条件を追加しようとしています。これは、ユーザーがページ上のフィールドセット内をクリックしたときにIF文がTRUEになるのを止めます。マウスクリック時にフィールドセットを検出するJQUERY

私はallsortsを試してみましたが、私は推測している、私はちょうど "& & !(e.target.isFieldSet))" が、何の喜びを添加しない試してみました。私はウェブ、誰にでもアイデアを検索しようとしましたか?

$(function() { 
    $('tr').live('click', function(e) { 

     //if not clicking an anchor tag or imag then assume user wants to go to details page 
     if ((!$(e.target).is('a')) && (!$(e.target).is('img')) && (!$(e.target).is('th')) && !(e.target.isTextEdit)) { 
      window.location = $("#AbsolutePath").val() + 'Waste.mvc/Details/' + $(this).attr('rowid'); 
     } 

    }); 
}); 
+1

私たちはおそらくあなたがhttp://jsfiddle.net/でフィドルを作ることができるhtmlをご覧ください – mcgrailm

答えて

0

私は、あなたが探していると思う:!$(e.target).is('fieldset')

$(function() { 
    $('tr').live('click', function(e) { 

     //if not clicking an anchor tag or imag then assume user wants to go to details page 
     if ((!$(e.target).is('a')) && (!$(e.target).is('img')) && (!$(e.target).is('th')) && 
      !(e.target.isTextEdit) && !$(e.target).is('fieldset')) { 
      window.location = $("#AbsolutePath").val() + 'Waste.mvc/Details/' + $(this).attr('rowid'); 
     } 

    }); 
}); 

例:http://jsfiddle.net/zbdRT/


しかし、私はこれはunmaintainableコードであることを主張するだろう。タグを追加する必要がある場合(今のように)このような何かが良いだろう。

if (!$(e.target).is("a, img, th, fieldset") && !e.target.isTextEdit) 

または、あなたはあなたが(これはまた、あなたの意図にように、コードビットより表現になります)を容易に追加することができ、アレイに無視するタグを格納することができ:

var excluded = ["a", "img", "th", "fieldset" ]; 

if (!$(e.target).is(excluded.join(", ")) && !e.target.isTextEdit) 
関連する問題