使用".click() "触发事件监听器是异步的吗?
我有以下代码(我的html中有): (function() { 'use strict'; document.getElementById(7).addEventListener("click", function(){ console.log('clicked'); }) console.log('before'); document.getElementById(7).click(); console.log('after') }()); 当它在Firefox 41控制台中运行时,我会期望 之后 单击 因为代码将同步运行,然后在事件队列完成脚本后响应单击事件.相反,我得到 单击 之后 这表明该事件是同步处理的? 是的是否同步运行激活步骤,包括立即启动(创建和调度)事件.它不在事件循环队列中放置.
12 2023-06-09
编程技术问答社区
JavaScript变量和传递数据问题
我有一个问题,即代码的$ .getjson段工作正常,并产生一个称为" zippy"的变量.我需要在代码中进一步访问" Zippy"系列:data'. 不幸的是,我尝试了许多事情,我无法使它起作用.最简单的方法是"返回数据" $ .getjson(jsonurl,函数(zippy)从功能(zippy)调用中,但我迷失了如何使该数据可用. $(function() { $(document).ready(function() { Highcharts.setOptions({ global: { useUTC: false } }); console.log("+++++++++++++++++++++++++++++++++++++"); var jsonUrl = "http://www.someurl.com/thing
18 2023-01-30
编程技术问答社区
在Javascript中尝试编写一个脚本来使用鼠标指针推动一个盒子
我正在学习JavaScript的开头,并尝试编写一个允许用户使用鼠标指针向左和向右推盒的脚本. 当指针接触盒子的左侧时,我设法解决了它,但是我在这里遇到了两个问题: 当指针进入框中时,盒子会跳到新的坐标.我希望当指针进入框时,盒子保持在其位置. 当鼠标接触盒子的右侧时,我真的无法弄清楚.我希望盒子向左推.我已经制作了一个 box.offsetright 属性来帮助我,但不能有效地使用它. 这是一张可以演示我的意思的图片: " X"标记是指针所在的位置.并朝盒子的右侧前进.如何向左推箱? 这是我尝试做的(当然没有用): index.html Chase the box body { } .css-box{ position: ab
30 2023-01-30
编程技术问答社区
浏览器之间的表单事件不兼容,如何解决?
我在html页面上有一个文本方面,在Google Chrome上,我不知道什么版本,因为用户界面有效地隐藏了,但是在Chrome上,OnChange ="代码"事件不是触发的,而是在Firefox 11.0上1.0(根据帮助 - >关于)正在射击.然后,我开始使用Events onkeydown =" same_function()",onpaste =" same_function()"和onInput =" same_function()",以确保绝对可以捕获至少一个事件.但是现在问题是我得到了太多事件,当我在获得键盘事件后检查textArea_dom_object.value时,我正在阅读的值中未包含按键的键;如果我在Textfield中有" ABC",然后按'D'会生成一个关键,但是我仍然只得到" ABC",而不是" ABCD". 是否有一种兼容的方式,或者至少在大多数浏览器上有效的方法,每次文本培训更改时都会获得一个事件,但最好只有一个事件?如果我已经听过事件等,我不得不
34 2023-01-29
编程技术问答社区
使用javascript更改字体大小
您好,我有此代码可以更改带有3个按钮的段落的字体大小,我想知道我可以使用wich方法不重复相同的行,并使此代码更加紧凑:非常感谢您:) window.addEventListener('load', inicio, false); function inicio(){ var boton1 = document.getElementById('boton1'); var boton2 = document.getElementById('boton2'); var boton3 = document.getElementById('boton3'); boton1.addEventListener('click', fuente10, false); boton2.addEventListener('click', fuente13, false); boton3.addEventListener('click', fuente20, false); } function
30 2023-01-29
编程技术问答社区
如何在用JavaScript创建一个元素时添加onclick事件?
我有一个脚本,将元素附加到列表中.我需要,当我单击元素时调用函数,对于此函数,需要创建li时变量的值(这是li content). 我已经检查了添加newLi.onclick = function(){...}的解决方案. 此解决方案的问题是我在函数中没有获得正确的值,我在列表中获得了另一个元素的值. 现在,这就是我创建元素的方式: var ULlist = document.getElementById('ULid'); for(i=0;i
16 2023-01-27
编程技术问答社区
Javascript中的函数链
在JavaScript中,我们在准平行中发射功能 window.onload=function(){ document.getElementById("test").addEventListener('click', function1(), false); //consider it takes 3 seconds to be completed document.getElementById("test").addEventListener('click', function2(), false); } 当function1()完全执行function1()时,我们如何发射? 在jQuery中,我们可以将一系列函数链接为(例如): $(this).fadeIn(3000).fadeOut(2000); 如何在纯JavaScript中进行此更改? 编辑:在响应负面评论和投票时,我提供了此示例: function delay(time, func){
18 2023-01-27
编程技术问答社区
如何通过IE的JavaScript输入框
试图在IE8和9的输入框上键入如何键入(通过事件未设置值).我查看了网络上的一些示例 - 但无法让它们工作. (我不想依靠其他库的jQuery) 这是我到目前为止所拥有的: function typeKey(){ var txtField = document.getElementById('txtfld'); var evt= document.createEventObject(); evt.keyCode=68; txtField.fireEvent('onkeypress', evt); } 它不起作用,也不会有错误. 解决方案 尝试此功能,fire(document.getElement
46 2023-01-27
编程技术问答社区
JavaScript+事件传播
我有一个输入框,可以成功切换一个隐藏的div.但是,我还希望当用户单击DIV本身以外的任何其他内容时,我也希望DIV隐藏.我该怎么做? html JS var divObj = document.getElementById('divID'); var inputObj = document.getElementById('inputID'); inputObj.addEventListener('click', toggleDiv, false); function toggleDiv(){ divObj.style.display = (divObj.style.display == 'none') ? 'block' : 'none'; } 解决方案 在document.body元素上创建事件侦听器,并检查事件
30 2023-01-25
编程技术问答社区
Firefox attachEvent和addEventListener两者都存在问题
所以我有2套JS一组带有附件事件,一个带有AddEventListener附件事件在IE 8中正常运行,而AddeventListener则为IE 9.在Firefox中,但是一旦我部署了它并尝试按预期使用它,它根本就无法使用它. 即8 var formsCollection = document.getElementsByTagName("form"); var chain = ""; for(var i=0;i
32 2023-01-25
编程技术问答社区
如何使用javascript禁用键的组合?
提前感谢您的答复. 我想禁用使用JavaScript的IE视图源快捷键. 为了禁用" ctrl + c",我正在使用lasterinf函数: function disableCopy() { // current pressed key var pressedKey = String.fromCharCode(event.keyCode).toLowerCase(); if (event.ctrlKey && (pressedKey == "c")) { // disable key press porcessing event.returnValue = false; } } 任何人都可以建议如何禁用" alt + v + c"组合? 解决方案 每个浏览器都具有内置功能来查看源代码或网页.我们可以做一件事.在您的页面中单击右键. 禁用右键单击以下代码:
24 2023-01-25
编程技术问答社区
如何使用JavaScript截断textarea的内容?
我有一个文本字段,我正在使用OnkeyPress检查输入字符串的长度.如果超过n个字符数量,它将返回false,并且不会接受任何其他字符,但是在这里我无法删除我在TheText字段中不需要的字符.我如何在此处删除文字. 解决方案 如果您使用的是textarea ,请尝试一下 function limitlength(obj, length){ var maxlength=length if (obj.value.length>maxlength) obj.value=obj.value.substring(0, maxlength) } 其他解决方案 使用简单的HTML5,无需JavaScript:
36 2023-01-24
编程技术问答社区
含义或evt=(evt)?示例:窗口。事件
嗨,这个JavaScript片段是什么意思.(EVT)部分令人困惑.EVT不是布尔值.它如何工作? function checkIt(evt) { evt = (evt) ? evt : window.event var charCode = (evt.which) ? evt.which : evt.keyCode } 解决方案 evt = (evt) ? evt : window.event只是 inline if语法.它等同于此代码: if (evt) { evt = evt; } else { evt = window.event; } 如果evt是真实的,evt将被独自一人.如果evt不是真相,它将被window.event替换. 其他解决方案 它是针对事件听众的. ie6-ie8使用了与W3C标准完全不同的事件方法. 当事件启动时,W3C标准浏览器将在回调中传递事件对象:
76 2023-01-23
编程技术问答社区
将事件函数绑定到类,但使用removeEventListener并删除其引用,从而允许垃圾收集器正常工作
我们都知道,当我们在JavaScript中创建类时,正常函数返回类对象,但事件返回事件对象,并且类对象丢失了 function class(a){ this.name=a; document.addEventListener('click',this.click,false); xhr.addEventListener('load',this.xhr,false); this.normal() } class.prototype={ click:function(e){ //e=event,this=theDocument //can't access class }, xhr:function(e){ //e=event,this=theXHR //can't access class }, normal:function(e){ //e=null,this=class } } 将这些事件绑定到我们的班级的最佳方法是什么? 通过最佳方式,
30 2023-01-22
编程技术问答社区
为什么在使用事件冒泡时没有调用无效事件的事件侦听器?
当我尝试将事件侦听器添加到文档的无效事件中时,当我使用像这样冒泡的默认事件时未调用. document.addEventListener("invalid", function (e) { console.log(e.target); }, false); 当我将最后一个参数设置为true时,事件侦听器被称为预期.多亏了什么是事件起泡和捕获?我认为我理解我了解活动捕获和冒泡,但我不明白这是如何适用于我的案件的.为什么在这里有所作为? 解决方案 根据 mdn参考 ,通常是准确的,在这种情况下似乎与现实匹配,invalid事件不气泡.他们仅在输入和表单 .
28 2023-01-22
编程技术问答社区
动态脚本标记添加是异步的?
动态脚本标签添加是异步吗?像动态地包括来自不同域的JavaScript文件集. 解决方案 是的,它是异步的.动态注入总是会导致浏览器通过DOM加载外部资源(例如,就像样式表,图像,闪存一样),必须异步发生以避免浏览器锁定. . 您是否正在寻找XmlHttpRequest)是不可能进行的. . 其他解决方案 动态脚本标签添加是异步的吗? 是.它被认为是异步的,主要是因为当未动态插入脚本标签时会发生什么. DOM中存在的完全形成的脚本标签将导致阻塞行为,即,在该特定资产完成加载之前,页面无法继续加载其他HTML.因此,许多开发人员更喜欢将其脚本标签放在
16 2023-01-22
编程技术问答社区