- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要点击一个文档来调用一些函数,但问题是当我点击一些想要的元素时它没有反应,所以代码:
<body>
<div class="some_element">
some element
</div>
</body>
和js:
$(document).click(function(){
//something to happen
})
现在,如果我用 class="some_element"
单击 div,document.click
事件将被调用,但我只需要在以下情况下调用该事件:单击文档;或者有可能使这个元素成为异常(exception)?
更详细:
$('#forma').click(function(e){
e.stopPropagation();
$('#assignment_type_list').slideUp();
})
可以说#forma
- 它是这些元素的父元素,所以当我单击页面时我想要向上滑动一些元素并且:
$('#assignment_type_select, #assignment_type_label').click(function(){
$('#assignment_type_list').slideToggle();
})
这是单击元素时其他元素被切换的元素,但问题是当我单击此元素时 $('#forma').click
- 也会执行,因为它的父级和 e.stopPropagation()
- 没有帮助。
最佳答案
所有这些 stopPropagation
内容都是正确的,尽管这会导致您的脚本在特定浏览器的旧版本上抛出错误。猜猜是哪一个?跨浏览器方式:
$('#elem').click(function(e)
{
e = e || window.event;//IE doesn't pass the event object as standard to the handler
//event would normally work, but if you declared some event variable in the current scope
//all falls to pieces, so this e || window.event; thing is to be preferred (IMO)
if (e.stopPropagation)//check if method exists
{
e.stopPropagation();
return;
}
e.cancelBubble = true;//for IE
});
但是,您想要检查实际单击的元素是否是您需要的元素。问题在于事件通过 DOM 传递的方式。在 W3C 浏览器中,事件首先传递到文档,然后向下爬到实际被单击的元素(通过 dom 传播)。
相比之下,IE 在元素本身上调度其事件,然后将其发送到文档(除了由选择元素触发的 change
事件......雪上加霜)。这实际上意味着,在 W3C 浏览器中注册到 body
元素中的单击事件可能会到达某种复选框,或者可能是空 div 内的单击。
同样,在 IE 中,当点击事件到达 body
标记时,它可能会被分派(dispatch)到页面上的任何元素。因此,在您的情况下,谷歌搜索:事件委托(delegate)
,或者转向 jQuery 的 .delegate()
方法,可能会很有用。
或者检查事件对象以查看是否允许该事件传播:
var target = e.target || e.srcElement;//target now holds a reference to the clicked element
属性名称巧妙地显示了冒泡模型和传播模型之间的区别:在第一种情况 (srcElement
) 中,事件来自 dom 中的源元素。在 W3C 传播模型中,事件在前往 dom 中某处的 target
元素时发生。
将其视为热寻导弹(w3c)与目标被击落后的碎片雨(即,总是具有破坏性的导弹,在这种情况下往往来不及对事件使用react,因此来不及处理它们了:P)
关于javascript - 如何附加 document.click 事件而不接触某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11793594/
我的SKPhysicsbody有一个奇怪的行为。 首先让我向您展示我的主节点: self.physicsWorld.contactDelegate = self self.physicsWorld.g
嘿,我有一个选择器,它在mainBundle中搜索所有.aif文件,并允许用户选择它们。效果很好,但是后来我从项目和文件夹中删除了一些文件,但是它们并没有消失。有没有办法重新编译它或其他东西,因为它现
我需要说的是,一位开发人员告诉您应该创建一个 skphysicals 主体,以便该函数主体能够正常工作,那么是否有任何特定代码来创建该 Sprite 的 skphysicals 主体?因为我已经在物理
所以我在屏幕中央有一个 150 x 150 的主 Imageview,我以编程方式创建具有随机 x 和 y 值以及随机宽度/高度(这些值相同)的 View 。我希望 View 围绕主 ImageVie
我的 Contact 7 Form 样式的宽度一直有问题,这让我抓狂。 http://www.sportshosts.com/ 顶部表单 - 按钮不会与字段垂直对齐 顶部表单 - 当您缩小窗口时,它会
我正在尝试制作棋盘,但正方形的外观有点问题。棋盘配色方案工作正常,但由于某种原因,每个方 block 的 Angular 似乎没有接触。 这是我的 2 行代码片段,其中每个数据条目属于“light”类
标题解释得很清楚。这个怎么做?两个 div 的大小不同。两个 div 都在移动(我正在制作一个 Jquery 小游戏)。如果一个撞到另一个,我希望事情发生。 谢谢 最佳答案 没有onOverlap的J
我正在使用 cocos2dx 并设置两个具有相同 Physics Body 定义的 Sprites,如下所示 PhysicsBody *physicsBody=PhysicsBody::createB
我正在开发一个带有两个 div 的简单气球游戏。问题是当两个 div 相互接触时我无法触发功能。 最佳答案 您正在寻找边界框碰撞检测。如果你想引发一个事件,你必须反复测试,但最好只在游戏循环中对所有游
问题 我有很多 .php 文件,大部分包含 HTML,但顶部还有一些 PHP 行(例如表单触发代码或类似代码)。所以他们看起来像 My Website 目标 我的
我在 PostGIS 和 PostgreSQL 中有一个包含 LINESTRING 列的表。我正在构建一个查询,该查询是将此表与其自身连接的结果,并且我知道每个连接的几何列(称它们为 geom),即第
我正在尝试编写一个 python 脚本来修改我正在解析的文件中 标记的内容。由于它的速度,我为此使用 lxml.html(而不是 BeautifulSoup 等)。 script 标签的内容包含在注
block ?
Prettier 通常在 HTML 上做得非常好,但会缩进 pre>code blocks。 我总是希望预>代码块不缩进。 似乎我应该能够在 .prettierignore 中配置它,但找不到可行的方
我已成功将 pdf 文件从 URL 加载到 Web View 。我想在触摸 webview 后获取坐标,将其数据发送到服务器,以在服务器端的该位置添加一些文本。问题是当 webview 缩放或滚动到第
我目前想要获取的只是 gd:email 的属性,即“address=”,目前仅此而已。我可以得到 xml 部分,哎呀,只要它在标签内,我什至可以得到任何给定的想法,但要获得任何给定的属性,就像我的情况
我是一名优秀的程序员,十分优秀!