Javascript JQuery—为什么event.target不';在这种情况下你不能工作吗?
我只是想知道为什么当我在容器中单击时,会弹出警报,尽管if语句允许它在单击时不显示 还有,我该如何测试里面的孩子Javascript JQuery—为什么event.target不';在这种情况下你不能工作吗?,javascript,jquery,Javascript,Jquery,我只是想知道为什么当我在容器中单击时,会弹出警报,尽管if语句允许它在单击时不显示 还有,我该如何测试里面的孩子 $(窗口)。在(“单击”)上,函数(事件){ var container=$(“#container”); if((event.target)!==容器){ 警报(“点击外部”); } }); 正文{ 高度:600px; } #容器{ 填充:2rem; 背景:灰色; } 您应该使用 你应该使用 使用函数将事件目标与JQuery元素进行比较: $(窗口)。在(“单击”)上,函数
$(窗口)。在(“单击”)上,函数(事件){
var container=$(“#container”);
if((event.target)!==容器){
警报(“点击外部”);
}
});代码>
正文{
高度:600px;
}
#容器{
填充:2rem;
背景:灰色;
}
您应该使用
你应该使用
使用函数将事件目标与JQuery元素进行比较:
$(窗口)。在(“单击”)上,函数(事件){
var container=$(“#container”);
if($(event.target).is(容器)){
警报(“点击外部”);
}
});代码>
正文{
高度:600px;
}
#容器{
填充:2rem;
背景:灰色;
}
使用该函数将事件目标与JQuery元素进行比较:
$(窗口)。在(“单击”)上,函数(事件){
var container=$(“#container”);
if($(event.target).is(容器)){
警报(“点击外部”);
}
});代码>
正文{
高度:600px;
}
#容器{
填充:2rem;
背景:灰色;
}
比较id
。这里的$(“#容器”)
是一个jquery对象
$(窗口)。在(“单击”)上,函数(事件){
if((event.target.id)!='container'){
警报(“点击外部”);
}
});代码>
正文{
高度:600px;
}
#容器{
填充:2rem;
背景:灰色;
}
比较id
。这里的$(“#容器”)
是一个jquery对象
$(窗口)。在(“单击”)上,函数(事件){
if((event.target.id)!='container'){
警报(“点击外部”);
}
});代码>
正文{
高度:600px;
}
#容器{
填充:2rem;
背景:灰色;
}
您正在将DOM元素与永远不匹配的jQuery对象进行比较。在目标之外创建一个jQuery对象,并检查它是否是#container
的后代。如果在#container
下有子元素,这也适用
$(window).on("click", function(event) {
if ($(event.target).closest('#container').length == 0){
alert("clicked outside");
}
});
您正在将DOM元素与永远不匹配的jQuery对象进行比较。在目标之外创建一个jQuery对象,并检查它是否是#container
的后代。如果在#container
下有子元素,这也适用
$(window).on("click", function(event) {
if ($(event.target).closest('#container').length == 0){
alert("clicked outside");
}
});
试试这个:
$(window).on("click", function(event) {
var container = $("#container");
if ((event.target) !== container[0]) {
alert("clicked outside");
}});
试试这个:
$(window).on("click", function(event) {
var container = $("#container");
if ((event.target) !== container[0]) {
alert("clicked outside");
}});
因为您在这里将DOM元素引用(event.target)与jQuery对象进行比较。因为您在这里将DOM元素引用(event.target)与jQuery对象进行比较。检查子元素是否在其中如何?这是JQuery改变了的吗?为什么我的例子不起作用?cheers可通过.children()
函数访问目标元素子元素。您的示例不起作用,因为您将JQuery对象与DOM元素进行了比较。检查子对象是否在其中如何?这是JQuery改变了的吗?为什么我的例子不起作用?cheers可通过.children()
函数访问目标元素子元素。您的示例不起作用,因为您将JQuery对象与DOM元素进行了比较。