相关疑难解决方法(0)

避免使用嵌套ul/li的双重事件(onclick)

我有一个两级ul/li菜单,其中li可以触发不同的onclick-events.

当点击一个ul li ul项目时,似乎会触发父事件(ul li).

我可以轻松避免这种情况吗?

(我正在考虑使用计时器来捕获第二个事件,但认为它是一个丑陋的修复......)

问候,/ T.

html javascript css

7
推荐指数
1
解决办法
4326
查看次数

event.target不返回已单击的确切元素

我正在尝试使用event.target来查找已单击的确切元素.我正在使用jQuery Mobile,链接在navbars中.

当页面最初加载时,event.target执行它的工作并返回正确的'a'元素(那里有一个编程点击导致它).但是,当您单击链接时,event.target将返回"span"元素,而不是单击的"a"元素.

如果单击链接文本部分的周围区域,则event.target将返回正确的"span"元素.

我需要event.target来返回已被点击的确切'a'元素,无论您是否直接点击链接,只要用户点击链接的给定区域(包括'span'区域) .

你可以在这里看到它

如果我需要提供更多信息,请与我们联系.谢谢!

jquery jquery-mobile

5
推荐指数
2
解决办法
3661
查看次数

jquery mouseenter on child div,尺寸大于父div

我有一个父div,高度= 100px,小于子div,高度= 200px.

当我在父div上附加jquery mouseenter时,即使我将指针悬停在child上,事件也会触发(将鼠标悬停在扩展父级高度的child部分上).

有谁能解释一下?

$(document).ready(function() {
		$(".parent").mouseover(function(e) {
			console.log(e.target);
		});
		$(".child").mouseover(function(e) {
			console.log(e.target);
		});
		$(".grandchild").mouseover(function(e) {
			console.log(e.target);
		});
	});
Run Code Online (Sandbox Code Playgroud)
.parent {
			background-color: green;
			height: 50px;
		}
		.child {
			background-color: red;
			height: 100px;
		}
		.grandchild {
			background-color: blue;
			height: 200px;
		}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="parent">
		<div class="child">
			<div class="grandchild">
				Test
			</div>
		</div>
	</div>
Run Code Online (Sandbox Code Playgroud)

- 更新 - 起初我不清楚究竟是什么问题.现在我想我明白了(我更新了代码).

假设我们有一个父div width=100pxheight=100px.
然后我们有一个孩子div width=200pxheight=200px(比父母更大的面积).
当我将鼠标悬停在子节点上(但尚未悬停在父节点上)时,浏览器会计算指针也在父节点上,尽管它没有.
因此,如果我在子项和父项上都有一个处理程序,它们将在我仅输入子div时触发.

谢谢.

html javascript css jquery jquery-events

3
推荐指数
1
解决办法
426
查看次数

JavaScript:停止事件传播对性能有好处吗?

停止JavaScript事件传播是否被认为是“好的做法”-它以任何方式提高性能吗?

我想知道布局目的之外是否有其他好处,您可以其中停止传播,以免意外触发多个事件。

javascript event-propagation

0
推荐指数
1
解决办法
1160
查看次数