<分区>
<分区>
假设有一个<div>
与文字。文本用 <br>
分成几行.如果我们在其中移动光标,最终光标图像会变为“文本”。如果我们将光标稍微移到一边,它的图像会变回“默认”,但我们可能会留在 <div>
范围内。 .
示例:
HTML
<div> long text here <br> short one <div>
编译后的html
这里是长文
短文
如果我们将鼠标移动到“one”和“here”之间的位置,则鼠标指针会在相同的位置发生变化 <div>
.问题是:是否可以在同一 <div>
中分离使用“文本”指针和“默认”指针完成的点击事件?使用 jQuery?
最佳答案
您指的是 css cursor
属性。
如果光标发生变化,那是因为鼠标悬停在具有不同 cursor
值的元素上,这意味着(当然)每个元素都可以根据点击事件分别定位。
对于这种特殊情况,将您的文本包裹在 span 中,您将实现您所追求的目标:
<div> <span>long text here</span> <br> <span>short one</span> <div>
因为你有 jQuery 标记,你可以选择像这样绑定(bind)你的事件处理程序:
$('span').click(function(event)
{
alert('span clicked');
event.stopPropagation();
});
$('div').click(function(event)
{
alert('div clicked');
});
注意事项:
http://api.jquery.com/event.stoppropagation/停止传播是一种阻止事件“冒泡”的方法。 span 位于 div 内部,因此从技术上讲,如果您的 span 已被单击 - 您的 div 也已被单击。你想在跨度点击事件处理程序中停止它,因此我在跨度点击处理程序上调用了 stopPropagation()
。
另请注意,我是根据 div
和 span
选择的,这将选择所有 div 和所有跨度。您需要针对您的代码对其进行优化。
关于jquery - 在 jQuery 中的同一 div 中分离 "click on text"和 "click on background"事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28028440/
相关文章:
javascript - jquery 之类的代码在 switch 内不起作用
jquery - 如何从 jQuery 数据表中的 ajax 数据源获取 mRender() 函数中的隐藏列值
javascript - 在 {display : none;} images 上停止 Lightbox2 画廊
html - 为什么这个 twitter script/iframe 不 float 到右侧?
javascript - 将 JSON 图层添加到 Leaflet map
c# - 当我想要同名控件时如何处理 "FindControl requires that controls have unique IDs"?