dom-events 相关问题

DOM(文档对象模型)事件允许事件驱动的编程语言在DOM树内的元素节点上注册各种事件处理程序/侦听器。

如何将元素附加到特定的 div - Vanilla JS? [已关闭]

我是新来的 - 也是 JavaScript 新手,我正在创建这个待办事项列表 - 我一直在尝试只使用普通 JS。这个想法是用户可以创建自己的任务类别,这些将是

回答 1 投票 0

如何删除在 TypeScript 中使用“this”的事件监听器?

在 JavaScript 中,对于需要访问私有成员和函数的事件处理程序,我可以依赖那些在我的事件处理程序函数中可访问的函数范围,并执行某些操作...

回答 3 投票 0

如何使按钮包装器之后的每个后续兄弟消失并通过按下这个按钮再次恢复其可见性?

我的页面上有 2 个按钮,“阅读更多”和“阅读更少”,它们是使用 WP 中的页面生成器创建的。我试图在页面

回答 2 投票 0

如何通过按下这个按钮使按钮包装器后的每个同级消失并再次恢复其可见性?

我的页面上有 2 个按钮,“阅读更多”和“阅读更少”,它们是使用 WP 中的页面生成器创建的。我试图在页面

回答 2 投票 0

画笔与其他元素上的事件重叠

一个 g 容器已添加到我的 Svg 容器中,该容器有一个“图形”类 - 所有轴线、图形、点等。我想在光标悬停在 o 时向所有这些元素添加事件处理程序。 ..

回答 1 投票 0

FireFox/Safari 事件目标与影子 DOM 中的当前目标

我见过许多看似相似的(Firefox + Event Target)问题,但没有处理我的特定问题。 基本上,我在这里和参考文档中读到的所有内容都表明目标是......

回答 1 投票 0

FireFox 事件不会冒泡或从阴影 DOM 传播到光 DOM

编辑1 Firefox 实际上确实将一个事件冒泡到 light DOM,但它是一个 INPUT 事件;不是 CLICK 事件。为什么? 结束编辑1 文档说事件在阴影中的元素上触发......

回答 1 投票 0

是否可以在不破坏后代事件监听器的情况下附加到innerHTML?

在以下示例代码中,我将 onclick 事件处理程序附加到包含文本“foo”的范围。该处理程序是一个弹出alert() 的匿名函数。 但是,如果我分配给 pa...

回答 14 投票 0

如何检测使用 easyeditor 初始化的文本区域上的值已更改?

我已经使用 easyeditor 库为文本区域初始化了富文本编辑器: $(文档).ready(函数(){ $("#editor").easyEditor({ 按钮:['粗体','斜体','链接','h2',...

回答 1 投票 0

检测 iframe 何时获得或失去焦点

检测 iframe 何时获得或失去焦点(即是否会接收键盘事件)的正确方法是什么?以下内容在 Fx4 中不起作用: var iframe = /* 我的 iframe */; iframe。

回答 11 投票 0

Blazor 拖放:ondragleave 在放置时触发,而不是 ondrop

我是一个菜鸟,试图在我的 blazor 8 混合应用程序中实现拖放,但 ondrop 事件没有触发。相反,当我释放鼠标时, ondragleave 会被触发。 我们有两张表: 面板...

回答 1 投票 0

从 Layout.cshtml 调用时 PartialView 无法正常工作

在此处输入图像描述 - 添加问题,因为堆栈溢出不接受代码 我正在尝试调用部分视图(有一个按钮,单击该按钮我应该能够关闭 div ...

回答 1 投票 0

事件监听器中何时不会调用回调?

我写了以下代码: 设置超时(()=> { document.body.innerHTML = "<div></div>"; 让outerHost = document.querySelectorAll("div")[0]; 外部主机。</desc> <question vote="1"> <p>我写了以下代码:</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>&lt;script&gt; setTimeout(() =&gt; { document.body.innerHTML = &#34;&lt;div&gt;&lt;/div&gt;&#34;; let outerHost = document.querySelectorAll(&#34;div&#34;)[0]; outerHost.attachShadow({mode: &#34;open&#34;}); outerHost.shadowRoot.innerHTML = &#34;&lt;style&gt;div {width: 100px; height: 100px; background-color: red}&lt;/style&gt;&lt;div&gt;&lt;/div&gt;&lt;div id=&#39;host-shadow&#39;&gt;&lt;/div&gt;&#34;; let target = outerHost.shadowRoot.childNodes[2]; target.attachShadow({mode: &#34;open&#34;}); target.shadowRoot.innerHTML = &#34;&lt;div id=&#39;node-text&#39; style=&#39;background-color: green&#39;&gt;Hello&lt;/div&gt;&#34;; let relatedTarget = target.shadowRoot.childNodes[0]; let ev = new Event(&#34;mouseover&#34;); ev.relatedTarget = relatedTarget; target.addEventListener(&#34;mouseover&#34;, (e) =&gt; console.log(e.target, e.relatedTarget)); target.dispatchEvent(ev); }); &lt;/script&gt;</code></pre> </div> </div> <p></p> <p>它创建两个影子根并指定事件监听器<pre><code>id=&#34;host-shadow&#34;</code></pre>。<pre> </pre>如果我将光标放在 </p><code>mouseover</code><p> 上,然后将其移动到 <pre><code>id=&#34;node-text&#34;</code></pre>,我将不会调用事件侦听器的回调。但是如果我通过合成方法执行此操作,我会得到回调调用。我被困住了!<pre> </pre>查看</p>规格<p>:<a href="https://dom.spec.whatwg.org/#concept-event-dispatch" rel="nofollow noreferrer"> </a> </p>如果目标不是相关目标或目标是事件的相关目标,则:<blockquote> <p> </p>如果这个条件通过检查,那么你就会得到回调调用,否则你不会。</blockquote> <p>我可以比较非合成调用和合成,它们的调用没有通过检查。为什么合成调用会传递并调用回调?</p> <p></p>我的问题:<p>我上面指定的这个条件实际上是什么?<strong> </strong> </p> </question>您似乎假设可以通过在实例对象上设置具有该名称的属性来设置 <answer tick="false" vote="0"><code>id=&#34;host-shadow&#34;</code><p> 的 <pre><code>Event</code></pre> 。事实并非如此。您引用的规范中的 <pre><code>relatedTarget</code></pre> 是实例的内部属性,它不会暴露给 JS。目前它在规范中的名称是这样的,但明天可能会更改为另一个名称,而不会产生任何后果,因为它没有公开。<pre> </pre>要使属性产生影响,需要将其公开为接口上的设置器。目前 </p><p><code>relatedTarget</code><a href="https://dom.spec.whatwg.org/#event" rel="nofollow noreferrer"> 接口<pre> 仅将 </pre><code>Event</code></a> 和 <pre><code>cancelBubble</code></pre> 属性公开为可设置。所有其他属性都是<pre>readonly</pre>。你可以通过构造函数调用设置更多一些属性,如<em><code>returnValue</code></em>、<pre><code>.type</code></pre>、<pre><code>.bubbles</code></pre>和<pre><code>.cancelable</code></pre>,对<pre><code>.composed</code></pre>的调用将确定<pre><code>dispatchEvent()</code></pre>和<pre><code>.target</code></pre>其中之一,但是<pre><code>.timestamp</code> </pre> 根本不属于此列表,您无法对其进行设置。<pre> </pre>现在,</p><p><code>relatedTarget</code><a href="https://w3c.github.io/uievents/#dom-mouseevent-relatedtarget" rel="nofollow noreferrer">接口<pre>确实通过</pre>readonly</a><pre><code>MouseEvent</code></pre>属性暴露了其内部<em><code>relatedTarget</code></em>,并且它允许通过<pre>MouseEventInit字典</pre>的同名属性来设置它。所以对于<a href="https://w3c.github.io/uievents/#idl-mouseeventinit" rel="nofollow noreferrer"><code>.relatedTarget</code></a>,你实际上可以设置它。<pre> </pre>将其设置为您尝试执行的操作,回调将不会被调用,因为“</p>retargeting<p>事件的<a href="https://dom.spec.whatwg.org/#retarget" rel="nofollow noreferrer"><code>MosueEvent</code></a>针对<pre><code>relatedTarget</code></pre>的结果”将是<pre><code>target</code></pre>(我们击中了算法中的第三个子弹,因此直接返回<pre><code>target</code></pre>,即<pre><code>A</code></pre>),但事件的<pre><code>target</code></pre>(我们设置的)不是<pre><code>relatedTarget</code></pre>。<pre> </pre></p><p> </p> <div data-babel="false" data-lang="js" data-hide="false" data-console="true"><code>target</code><div> <pre> </pre> </div></div> <p> </p></answer>

回答 0 投票 0

如何在浏览器中处理三星S-Pen按钮事件(Javascript)?

我正在为 Galaxy Tab S3 开发一个网络应用程序,允许用户使用三星 S-Pen 进行绘画。 S-Pen 侧面有一个按钮,我知道原生 Android 应用程序可以使用该按钮来执行操作

回答 1 投票 0

Javascript 滚动处理程序未触发

我想做的就是在滚动 DIV 时调用一个函数。为了简单起见,我没有指定任何其他内容。另外,我只关注 DOM 兼容的浏览器,如 Chrome、Safari(不是 IE)....

回答 6 投票 0

音频播放在React js中不起作用,并且在导入音频文件时出现错误

当尝试运行我的这段代码时, 音频文件未播放。 后来我尝试了...

回答 2 投票 0

检测 SPA 中的 URL 更改

我想监听不是由我维护的 SPA 中的路径变化。 我在这里找到了一个解决方案:https://stackoverflow.com/a/44819548/7042552 但仍然看起来有点“hacky”......

回答 3 投票 0

什么 JavaScript 函数会自动提交 Qualtrics 调查?

什么 JavaScript 函数会自动提交 Qualtrics 调查?我想在 Qualtrics 调查的页眉或页脚中创建一个按钮,只要用户需要,该按钮就会自动提交调查...

回答 3 投票 0

d3 中的短路事件?

我有一个 D3 (v4) 可视化,其中包含许多形状,在某些情况下,它们会在大约三秒的时间内动画到新位置。这些形状具有单击和鼠标悬停事件侦听器...

回答 2 投票 0

等待5秒再执行下一行

下面这个功能并没有像我想要的那样工作;作为一个 JS 新手,我不明白为什么。 我需要它等待 5 秒,然后再检查 newState 是否为 -1。 目前,已经等不及了,我...

回答 15 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.