event-handling 相关问题

事件处理是关于处理源与一个或多个订户之间的消息的编码样式。源中的点侦听器提供了一种方式,订阅代码可以使用从源引发的消息。

HTMX:将函数传递给 `hx-on` 以读取事件

我一定错过了这里绝对明显的: 使用 htmx 我试图发送一个 get 请求并在发送之前在 javascript 中配置它。 HTMX 提供了 hx-get、hx-on 和

回答 1 投票 0

为什么 eventListeners 不起作用,而 eventHandler 却起作用?

当我使用 eventListeners 而不是 eventHandlers 时,我遇到了一个问题,我在控制台工作中得到了多个结果,当我使用 eventHandeler 时,我不会,我只需单击一次,我就会得到一次工作...

回答 1 投票 0

父级和子级 div 上的事件处理程序

这是我的 HTML 文件 document.querySelector('.a').onclick = ()=>{ 做...</desc> <question vote="1"> <p>这是我的 HTML 文件</p> <pre><code>&lt;div class=&#34;a&#34;&gt; &lt;div class=&#34;b&#34;&gt; &lt;/div&gt; &lt;/div&gt; &lt;script&gt; document.querySelector(&#39;.a&#39;).onclick = ()=&gt;{ document.querySelector(&#39;.a&#39;).style.backgroundColor =&#39;black&#39; } document.querySelector(&#39;.b&#39;).onclick = ()=&gt;{ document.querySelector(&#39;.b&#39;).style.backgroundColor =&#39;violet&#39; } &lt;/script&gt; </code></pre> <p>当我单击类为“b”的 div 时,类为“a”的 div 上的事件处理程序也会被调用。我只想调用带有“b”类事件处理程序的 div。有人可以帮忙吗?</p> </question> <answer tick="true" vote="3"> <p>这就是<a href="https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_bubbling_and_capture" rel="nofollow noreferrer">事件冒泡</a>,这意味着每个事件不仅会在目标元素上触发,还会在其祖先元素上触发。</p> <p>要防止这种行为,您可以使用 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation" rel="nofollow noreferrer">Event.stopPropagation</a> 来阻止事件传播到目标元素的祖先元素。</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>document.querySelector(&#39;.a&#39;).onclick = () =&gt; { document.querySelector(&#39;.a&#39;).style.backgroundColor = &#39;black&#39; } document.querySelector(&#39;.b&#39;).onclick = (event) =&gt; { event.stopPropagation(); document.querySelector(&#39;.b&#39;).style.backgroundColor = &#39;violet&#39; }</code></pre> <pre><code>div { width: 100px; height: 100px; } .a { padding: 40px; background: red; } .b { background: blue; }</code></pre> <pre><code>&lt;div class=&#34;a&#34;&gt; a &lt;div class=&#34;b&#34;&gt;b&lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> </answer> <answer tick="false" vote="1"> <p>JS中有一个概念叫<a href="https://javascript.info/bubbling-and-capturing#bubbling" rel="nofollow noreferrer">事件冒泡</a>。默认情况下,特定元素上发生的任何事件都将传播到父级及其父级,依此类推,直到事件到达文档。</p> <p>为了阻止这种行为,<a href="https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation" rel="nofollow noreferrer"><pre><code>Event.stopPropagation</code></pre></a>将前来救援并停止向家长传播该事件。</p> <p>因此,在这种情况下,在具有类 <pre><code>e.stopPropagation</code></pre> 的 div 的 <pre><code>onclick</code></pre> 处理程序中调用 <pre><code>b</code></pre>,即内部 div 将停止将事件传播到父 div。</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>document.querySelector(&#39;.a&#39;).onclick = (e) =&gt; { document.querySelector(&#39;.a&#39;).style.backgroundColor = &#39;black&#39; } document.querySelector(&#39;.b&#39;).onclick = (e) =&gt; { e.stopPropagation(); document.querySelector(&#39;.b&#39;).style.backgroundColor = &#39;violet&#39; }</code></pre> <pre><code>.b { width: 50%; }</code></pre> <pre><code>&lt;div class=&#34;a&#34;&gt; &lt;div class=&#34;b&#34;&gt; Dummy &lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> </answer> <answer tick="false" vote="0"> <p>试试这个:</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code> document.querySelector(&#39;.a&#39;).onclick = ()=&gt;{ document.querySelector(&#39;.a&#39;).style.backgroundColor =&#39;black&#39; } document.querySelector(&#39;.b&#39;).onclick = (e) =&gt; { e.stopImmediatePropagation(); document.querySelector(&#39;.b&#39;).style.backgroundColor =&#39;violet&#39; }</code></pre> <pre><code>&lt;div class=&#34;a&#34;&gt;a &lt;br/&gt; &lt;div class=&#34;b&#34;&gt; Click here! &lt;/div&gt; &lt;/div&gt;</code></pre> </div> </div> <p></p> </answer> </body></html>

回答 0 投票 0

如果控件的“visible”属性设置为“False”,它的任何事件都会触发吗?

我有一个 GridView,它设置了 RowDataBound 事件。 如果我在另一个控件的事件(例如按钮的 OnClick 事件)引起的回发期间将 GridView 的“Visible”属性更改为“False”...

回答 2 投票 0

Cypress:如何使用点击处理程序处理等待元素

我正在测试的代码有很多 标签元素,这些元素使用 href 标签呈现,但在页面加载后不久就会给出一些执行不同操作的单击事件(例如打开模式)....

回答 1 投票 0

即使使用正确的值调用渲染函数,Lit 属性表达式也不会更新

我遇到了一些奇怪的问题,其中带有属性表达式(.checked)的 Lit Web 组件没有更新。这是 Lit Playground 的简单复制: 导入 {html、css、LitElement...

回答 1 投票 0

首次启动后 SDL 窗口中没有背景

我有一个使用 SDL2 的简单 C 程序: #包括 #包括 int main(int argc, char** argv) { 如果(SDL_Init(SDL_INIT_EVERYTHING)!= 0){ 返回1; }

回答 1 投票 0

有没有办法在MouseEnter/MouseLeaves事件etz中组合多个txtbox?

我有一个在 Visual Studio 中使用的代码示例,当我有 MouseEnters 和 MouseLeaves 也是如此。 Private Sub txtbox1_MouseEnter(发送者作为对象,...

回答 1 投票 0

如何从iframe js发送窗口事件

我想将带有数据的事件从 iframe 发送到主应用程序,我使用以下代码结构: 在 iframe 中调度事件 window.dispatchEvent(new CustomEvent("play-key", { 详细信息: 's...

回答 1 投票 0

打开和关闭点击事件

所以我正在尝试制作一个照片库,其中: 1.如果您点击其中一张照片,则会弹出一个窗口 2.但在关闭弹出窗口之前,您无法再次单击任何照片。 我已经搞砸了...

回答 1 投票 0

如果用户输入了错误的日期,并且我们在 previousDate 变量中有一个日期,则应在输入文本框中设置 previousdate

我在角度中有输入文本框。在此输入文本中,用户可以手动输入日期或使用日期选择器(ngbDatepicker)。 如果用户输入有效日期,那么它将分配给 previousdate 变量。 如果使用

回答 1 投票 0

如何使navbar及其元素根据hover和scrollY而变化?

嗨,我正在制作一个根据悬停和滚动而变化的导航栏。 以下是要求: 当scrollY > 0时(这意味着导航栏不在顶部): 导航栏背景颜色->“#fff” ch...

回答 1 投票 0

多个人物的点击事件

我想通过单击图中的值来提取图形的值,同时还在此时添加标记/删除旧标记。我成功地为一个人物做到了这一点,但是在我的实践中......

回答 2 投票 0

Node-Red:从自定义功能节点发送消息,不带输出选项

我想从没有输出选项的自定义功能节点发送消息来“触发”(如注入节点)另一个功能节点。我找到了使用 node.error("

回答 1 投票 0

使用 vanilla JS 根据日期动态更新 HTML 中的数据

我试图在 6 月 1 日在网页上更新年份(我在这一天需要它,因为它在我生日时更新年份)。问题是:有没有更好的方法来用 Van 来做......

回答 1 投票 0

使用 Qt 检查按键是否按下

我正在玩一些图形,并且我已经使用箭头键实现了简单的相机移动。我的第一个方法是重写 keyPressEvent 来执行如下操作: 开关(钥匙) {

回答 7 投票 0

如何在单击时通过其“子表单”“更新”表单

所以我得到了一个有 2 个窗口的基本游戏,一个是主游戏,一个是设置菜单,它们都是 Form 的子类,但是事件处理程序 f2.MouseClick (第二种形式)只会触发...

回答 1 投票 0

订阅者无法识别 Medusa JS 服务

订阅者中未引用Medusa的定制服务 描述错误 我有一个服务自定义,例如我引用了预先存在的示例 onboardingService 当我运行 medusa 开发时,我...

回答 1 投票 0

如何覆盖 Cordova 中的默认后退按钮操作?

我已按照 Cordova 文档中的示例代码覆盖设备后退按钮(使用 ES6),但它无法按预期工作: const onBackButtonPress = () => { console.log('按下'); };

回答 4 投票 0

为什么我要把 e.preventDefault() 放在异步函数的开头?

我仍在加深对异步函数和 ReactJS 的理解,但在表单提交的上下文中,为什么我可以使用 e.preventDefault() 启动我的异步函数? 我看到这段代码是一个例子...

回答 1 投票 0

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