Tag: dom events

这个JavaScript代码是否会通过禁用一个键来影响其他按键事件?

我正在使用它来禁用空格键在浏览器中的“滚动”效果。 这会影响其他按键事件吗? window.onkeydown = function(e) { return !(e.keyCode == 32); }; 有人可以解释一下这是做什么的吗? 我不确定这段代码是不是很糟糕,但似乎在我的页面中禁用了其他与按键相关的代码,我想确保这不是原因。 谢谢!

React渲染输入的触发器更改事件(类型=范围)

“反应”:“^ 15.4.2” 我无法从jquery触发使用React呈现的输入的更改事件。 我需要做一些端到端的测试。 这是一个沙箱作为一个完整的展示: https ://codesandbox.io/s/pp1k1kq3om已经加载了jquery。 如果你在控制台中运行:$(’#reactSlider’)。val(50).change(),你会注意到没有调用更改处理程序。 在上面的沙箱中还有一个纯html滑块用于比较,一个按预期工作(调用更改函数)。 还试图派出这样的新事件: var event = new Event(‘change’) var target = $(‘#reactSlider’)[0]; target.dispatchEvent(event); 以上也不起作用(并且可以在纯html滑块上工作)。 import React from “react”; import { render } from “react-dom”; const changeHandler = event => { alert(`react slider changed:${event.target.value}`); }; const App = () => ( react-slider run in the console: $(‘#reactSlider’).val(50).change() Notice that […]

jQuery中提供了哪些钩子?

官方只有$.cssHooks记录在jQuery API文档中 ,并且$.valHooks在一个句子中被提及,用于解决.val()的已知问题。 我想知道除了这两个之外,jQuery中有多少个钩子,我们应该在插件开发中使用$.valHooks吗? 如果是这样,我认为它应该被记录为专门的主题而不是仅仅一句话。

使用Vanilla JS收听jQuery事件

所以我试图确定是否可以使用vanilla JS来监听使用jQuery添加的事件。 我发现了这个问题: 在没有jQuery的情况下收听jQuery事件 这绝对是jQuery版本1的答案。 那么版本3怎么样? 我有一个小提琴,我已经放在一起测试,但我无法让第一个提交与任何版本的jQuery一起使用。 我错过了什么,或者jQuery 3中的事件模型仍然没有使用DOM事件模型? https://jsfiddle.net/ydej5qer/1/ 这是小提琴中的代码: HTML: This is div1. My event was added via jQuery and is listened for by vanilla JS. Enter the number 2 to have the event fired. Submit This is div2. My event was added via vanilla JS and is listened for by jQuery. Enter […]

jQuery – 节点属性更改时的事件

我有一个带有外部JavaScript库的网页,以及我自己的额外代码。 外部库无法更改。 它操纵dom元素,添加新元素,更改属性(例如某些节点上的src等)。 我正在使用jQuery。 是否有属性值更改节点时触发的事件处理程序? 即无论如何我可以检测到(在jQuery中) 的src何时被更改(由其他人?)

Jquery – 添加DOM元素时运行函数

我有一个jQuery和jQuery UI的网站。 我有一个Javascript函数: function ToButton() { $(“.ToButton”).button(); } 此函数在页面加载后运行,并使用类“ToButton”更改所有元素。 当用户按下按钮时,我也会更改HTML代码。 例如: $(“body”).append(‘Test Button’); 我也想对这个新元素运行ToButton函数,但jQuery中的live或delegate方法没有“show”或“create”事件类型。 所有HTML代码更改后我都需要调用函数ToButton()。 你能帮助我,我如何将ToButton函数委托给所有元素?

不使用jQuery触发自定义事件

我用jQuery triggerHandler()触发了一些DOM事件 stackoverflow $(document).ready(function() { $(document).on(‘hey’, function(customEvent, originalEvent, data) { console.log(customEvent.type + ‘ ‘ + data.user); // hey stackoverflow }); // how to this in vanilla js $(document).triggerHandler(‘hey’, [{}, { ‘user’: ‘stackoverflow’ }]) }); 如何在没有jQuery的情况下触发这个? 重要提示 :我需要知道事件类型和自定义数据

jQuery $ el.trigger(’change’)不会触发本机侦听器

请考虑以下HTML: o1 o2 和JavaScript(在文档准备就绪): var $select = $(‘select’); var select = $select.get(0); function logger(msg) { return function () { console.log(msg); }; } $select.on(‘change’, logger(‘jquery on select’)); $(document).on(‘change’, logger(‘jquery on document’)); select.addEventListener(‘change’, logger(‘native on select’), false); document.addEventListener(‘change’, logger(‘native on document’), false); setTimeout(function () { console.log(‘ == programmatic ==’); $select.trigger(‘change’); console.log(‘ == now try manual ==’); }, […]

如何知道DOM元素何时移动或resize

我想知道是否有一个要侦听的DOM事件告诉我DOM元素移动时是重新定位还是在页面上resize。 我不是在谈论被拖放的元素。 一个例子是如果一个页面上有三个项目的列表,我使用JS从页面中删除前两个列表项之一(或隐藏它或其他),我想附加一个处理程序来运行时第三个列表项在页面中向上移动。 我正在使用jQuery,所以可以接受简单的javascript或jQuery答案。 也许在元素级别没有移动/位置/resize事件,所以如果有一个页面/ doc级别事件会告诉我该页面被重新绘制,我可以检查是否需要再次调用一个函数? 背景 我在一个元素上放置了一个透明div,同时调用webservice来删除该元素。 由于我需要绝对定位覆盖div,我希望它能够跟踪它最初覆盖的元素。 实际上将其锚定到基本元素。

如何通过DOMAttrModified检测类更改

我需要检测一些类更改,我使用这个DOMAttrModified,但有些东西是错的,什么? var first_img = $(‘body’).find(‘li:first’).find(‘img’); first_img.on(‘DOMAttrModified’,function(e){ if (e.attrName === ‘class’) { if ($(this).hasClass(‘current-image’)) { $(this).removeClass().addClass(‘previous-image’); } console.log(‘log’); } }); 感谢您的建议。