Javascript 分离单击事件的DOM元素

Javascript 分离单击事件的DOM元素,javascript,html,dom,Javascript,Html,Dom,我有一个显示搜索结果的网站。结果与完整项目的标题信息一起显示。每个搜索结果的html如下所示: <article class="search_result" onclick="location.href='#';" style="cursor: pointer;"> // Search result data </article> //搜索结果数据 正如你所看到的,我这样做是为了让你可以点击任何地方,并访问更详细的结果 然而,在搜索结果中,我还包括了一个按钮,它

我有一个显示搜索结果的网站。结果与完整项目的标题信息一起显示。每个搜索结果的html如下所示:

<article class="search_result" onclick="location.href='#';" style="cursor: pointer;">

// Search result data

</article>

//搜索结果数据
正如你所看到的,我这样做是为了让你可以点击任何地方,并访问更详细的结果

然而,在搜索结果中,我还包括了一个按钮,它执行另一个功能

我遇到的问题是,当您单击按钮时,按钮和搜索结果都会收到单击事件并对其进行操作。如果单击按钮,我不希望搜索结果也处理它


如何对其排序?

默认情况下,JavaScript事件会在DOM中冒泡,因此在子对象上触发的事件将在父对象上触发

为了防止这种情况,您需要停止事件的传播

这是通过以下方式实现的:

event.stopPropagation();
请注意,
event
通常作为参数传递给回调函数。(也就是说,不要使用
onclick=“
属性,这样就可以得到函数回调)

完整文档:

(即<8 fallback:)

您的可能副本将阻止事件向上传播到DOM。除了
event.stopPropagation
的文档外,请参阅已发布的链接。