我正在尝试向以下Javascript添加单个条件,当用户在页面上的字段集内单击时,该条件将停止IF语句,使其回到正确状态。
我已经尝试了各种各样,但我猜,我只是尝试添加“ &安培;&安培; !(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');
}
});
});
答案 0 :(得分: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/
但是,我认为这是不可维护的代码。如果您需要添加更多标签(正如您现在所做的那样),该怎么办?这样的事情会更好:
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)