草庐IT

Event-Driven

全部标签

JavaScript - bfcache/pageshow 事件 - event.persisted 总是设置为 false?

在标准的Java/SpringMVC/JSP/jQuery网络应用程序中,我试图检测“返回”(或history.go(-1))事件,以便刷新(AJAX)摘要组件/当我返回页面时面板内容(我们可以在其中更改摘要组件显示的后端数据)。我在JavaScript中尝试了以下方法(在StackExchange上的一些帖子中了解如何实现这一点):$(document).ready(function(){window.onpageshow=function(event){console.log("Event:");console.dir(event);if(event.persisted){aler

javascript - TypeError:event.preventdefault不是函数

为什么我要用这个密码?如何正确传递(或不传递)事件?(最初的问题和下面代码的答案是ExtractingcommonlogictoareusablefunctioninJavaScript——这个问题是关于方法的,这个问题是关于event的问题,它看起来不同而且更具体)。$(function(){varupdateUi=function(event){event.preventdefault();$("span.show_hide").toggleclass("shownhidden");$("table").toggleclass("widenarrow");};$("a[data-t

javascript - Event.observe 函数 - 按类而不是 id 观察元素

有原型(prototype)js函数:Event.observe(元素、事件名称、处理程序)这里的元素是指元素的ID。是否可以将元素的class放在这里?我从第三方获得了这个元素,只有class属性。 最佳答案 $$可以通过css选择器检索元素,包括通过periodnotation按类检索元素。:$$('.myClass');//arraywithallelementsthathaveclass"myClass"为了回答您的问题,Event.observe是observe的“静态”版本(出于所有意图和目的)。作为方便原型(proto

javascript - 在不同模块之间调解和共享数据

我只是想了解事件驱动的JS,所以请多多包涵。我的应用程序中有不同种类的模块。有些只是封装数据,有些则管理DOM的一部分。有些模块依赖于其他模块,有时一个模块依赖于多个其他模块的状态,但我不希望它们直接通信或将一个模块传递给另一个模块只是为了方便访问。我试图创建最简单的场景来说明我的问题(当然,实际的模块要复杂得多):我有一个只公开一些数据的数据模块:vardataModule={data:3};有一个configModule公开了用于显示该数据的修饰符:varconfigModule={factor:2};最后有一个displayModule组合并呈现来自其他两个模块的数据:vardi

javascript - Chrome 报告错误的 event.timeStamp 值(6 位数字或负值)

我有以下代码$("p").on("mousemove",function(event){$("p").text(event.timeStamp);});它在Firefox和Edge中返回一个9位数的正值,但在Chrome中只返回一个六位数的十进制数。我的chrome版本是43。这里有什么问题?编辑:我更新了我的Chrome版本,但我仍然得到负时间值或六位数。我的Chrome版本现在是48。如果重要的话,我正在使用Window1064位。编辑2:当我重新加载我的页面时,该值在短时间内为正。之后它变为负数。负值随时间减小,最后变为正值并不断增加。 最佳答案

javascript - HostListener 的第二个参数是什么,为什么它通常被指定为 ['$event' ]?

Angular的HostListener装饰器有两个参数。第一个指定要监听的事件的名称。第二个是可选的字符串数组,名称不明确,名为args。自然地,它的含义目前没有在文档中解释(目前用整个四个词来记录HostListener装饰器,前两个声明它是,呃,“HostListener装饰器”)。我只见过HostListener以两种方式调用:完全省略args参数(例如https://angular.io/guide/styleguide#style-06-01)将args参数指定为['$event'],例如在https://angular-2-training-book.rangle.io/

javascript - Event.keyCode 不适用于 'on input' - 未定义

目前我正在为项目开发一项功能,并且event.keyCode出现不适用于“输入时”触发器。我正在使用谷歌浏览器31和jQuery1.10.2。这是我在我的方法中尝试的:input.on('input',function(event){console.log("event.charCode:"+event.charCode);console.log("event.keyCode:"+event.keyCode);console.log("event.which:"+event.which);console.log("window.event?event.keyCode:event.whi

javascript - Node.js 事件发射器 : How to bind a class context to the event listener and then remove this listener

有没有办法在事件监听器方法中访问类上下文并有可能删除监听器?示例1:import{EventEmitter}from"events";exportdefaultclassEventsExample1{privateemitter:EventEmitter;constructor(privatetext:string){this.emitter=newEventEmitter();this.emitter.addListener("test",this.handleTestEvent);this.emitter.emit("test");}publicdispose(){this.emi

javascript - event.key 在移动浏览器中对于 keyup、keydown 和 keypress 是未定义的

下面的代码应该简单地抑制任何按键并将按下的键添加到一个div中。这在桌面上运行良好,但在移动设备(safari和chrome)上event.key未定义。varstr='';varel=document.getElementById('#test');document.addEventListener('keypress',function(event){str+=event.key;event.preventDefault();el.innerHTML=str;})event.keyCode和event.keyIdentifier都可用,但将它们转换为字符串会在不同的键盘布局和语言上

javascript - 如何捕获 event.keyCode 并将其更改为另一个 keyCode?

我已经在SO上检查了其他问题,但是他们没有回答我的问题。我只想捕获某些keyCode并将其替换为另一个。我正在处理字符,而不是空格,我不需要松散焦点等。下面是我的代码。但是您可以用您的键码替换这些键码(例如,当按下大写字母“A”时,它应该替换为零0,等等)。想法是替换keyCode。phrase.keypress(function(event){if(event.shiftKey){switch(event.keyCode){//Cyrilliccapitalized"Н"waspressedcase1053:event.keyCode=1187;event.charCode=1187