我想在点击页面中的其他位置时隐藏div。为此,我有:
$(document.body).observe('click', function(e){
if(e.target.id != 'myDiv') {
$('myDiv').hide();
}
});
工作正常,唯一的问题是在这个div中我有其他元素,点击它们也会关闭#myDiv。我想要它,这样点击这个div内的任何东西都不会触发隐藏。在搜索之后,我在这里找到了关于如何使用jQuery执行此操作的答案:https://stackoverflow.com/a/12222263/548524。但是,我似乎无法在Prototype中使用它,显然有()在这里无效。
非常感谢任何帮助!
答案 0 :(得分:2)
document.observe('click', function(event) {
if (!event.findElement('#myDiv')) {
$('myDiv').hide();
}
});
$(document.body)
- 已经有document-wide observe 答案 1 :(得分:1)
使用'up'功能:
$(document.body).observe('click', function(e){
if(e.target.id != 'myDiv' && !$(e.target.id).up('#myDiv')) {
$('myDiv').hide();
}
});