如果XMLHttpRequest对象支持W3C Progress Events,有没有办法在JavaScript中检查?我的意思是在这里,如果将onload,onprogress,onabort,onerror等属性设置为某些处理函数将具有那些称为那些事件的函数,如上所述.
附加(奖金)问题:有没有办法增加XMLHttpRequest(例如使用一些计时器)来支持这些事件?
阿里纳斯:我先在的XMLHttpRequest的上下文中找到关于W3C的进度事件在这里
我在JavaScript中的表单字段上使用onkeyup事件,我想检查按下的键是否是数字 - 即.0 - 9,所以我可以用输入做一些事情.
<input type="text" onkeyup="" />
Run Code Online (Sandbox Code Playgroud)
我需要使用正则表达式吗?
谢谢
使用这个的主要区别是什么......
document.addEventListener('mousedown', function() {
// code
}, false);
Run Code Online (Sandbox Code Playgroud)
...还有这个?
document.onmousedown = function() {
// code
}
Run Code Online (Sandbox Code Playgroud)
会有任何不同的结果或任何原因吗?
我一直想知道......所以你有这样的代码:
$('#click-me');
Run Code Online (Sandbox Code Playgroud)
并附上以下内容:
$('#click-me').click(someFunction);
Run Code Online (Sandbox Code Playgroud)
"元数据"在哪里说:
"嘿"jQuery-object#click-me,"当你点击它时我会指向'someFunction'!"
我知道事件处理程序可能会被破坏,例如我的Backbone.js情况,因为我重新渲染整个页面,我的事件停止了触发,一路上破坏了一些背景函数/对象/视图.. (这是上下文至于为什么我问这个问题)
现在,我的问题是:
事件的"元数据"存储在哪里以及它们如何被销毁? 它们是否存储在将其绑定到函数的函数中?它们是否属于DOM'元数据'(如果有的话)本身?
我正在努力学习JavaScript的复杂性,因为我已经厌倦了bug.除此之外,我想知道是否应该留意可能会分离我的事件等的垃圾收集.来自C#,我会说DOM的JavaScript真的是......
(另外,作为附注,我如何访问这些事件并'调试'它们?firefox?chrome?)
UPDATE
用不同的词来说,将DOM元素连接到存储的某个事件的信息在哪里?DOM?对象?(或者...... jQuery是否映射它?JavaScript是否有'元数据'? 它围绕着这个上下文...
javascript jquery event-handling javascript-events backbone.js
我自己做了一个路线经理,有几个选项(比如avoidTolls travelMode avoidHighways waypoints)和可拖动的路线.
我创建var lastRequest = []了DirectionsRequest properties从最后一个渲染存储.
代码如下所示:
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var directions = parseDirections(response, mode, tolls)
directionsDisplay.setDirections(response)
}
});
google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
refreshReq(directionsDisplay.getDirections())
})
function refreshReq(response)
{
//
}
Run Code Online (Sandbox Code Playgroud)
我很难找到一个解决方案来刷新directions_changed我lastRequest['waypoints']的新数据,response所以我的脚本将能够存储一个路标对象并重做lastRequest我想要的任何时间.
当我从response我需要的路径阵列中取出时会遇到困难
试过几个变种:
lastRequest['waypoints'] = response['routes'][0]['legs'][0]['via_waypoints']
但事实并非如此.
下一步是逐个重新生成每个路点,new google.maps.LatLng()但由于某种原因,即使我用eval()将它们推入数组后也无法工作.
将中途停留更改为false/true,尝试了不同的东西,但没有,必须遗漏一些东西.
我试图在用户按Enter键时触发提交按钮.适用于除Internet Explorer 9之外的所有浏览器.奇怪的是,IE坚持也会触发我从未告诉过的另一个按钮的点击.我做错了什么或如何解决这个问题?
以下是我的代码.在IE中按Enter键会按预期触发提交点击,但由于某种原因也会触发"某个按钮"点击(即使没有我的按键监听器):
$('input[type=submit]').click(function () {
alert('Submit click');
});
//SIMULATE CLICK IF ENTER PRESSED IN SEARCH
$('input[type=text]').keypress(function (event) {
var keycode = event.keyCode || event.which;
if (keycode == 13) $('input[type=submit]').click();
});
//ROUTE CLEAR HANDLER
$('button').click(function () {
alert('Button click');
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到bug:http://jsfiddle.net/h64xD/
我正在遇到一个令人难以置信的问题,只有firefox中的同位素插件.我的每个同位素元素都有一个textarea,当我向下滚动到底部并键入其中一个textareas时,屏幕会跳到顶部.我在jsfiddle中重现了这个:
http://jsfiddle.net/galtschul/WfTZ5/
我一直在看这个几个小时,无法弄清楚是什么导致这个卷轴甚至开火.会爱一些帮助!
谢谢!
如何检查对window.location的调用是否失败,因为给定的URL无效等?是否有一些事件可以设置在窗口对象或其他可以捕获它的对象上?
在处理另一个问题的答案时,出现了一个奇怪的错误,该错误与event匿名函数中可用的对象有关而没有被传入.在Chrome中,下面的工作正常,但FF会抛出错误.
$(document).ready(function() {
$("#uspsSideboxTrackingClose").click(function() {
event.preventDefault();
console.log(event);
});
});
Run Code Online (Sandbox Code Playgroud)
铬:

火狐:
ReferenceError:未定义事件
众所周知
$("#uspsSideboxTrackingClose").click(function(event) { .. }
Run Code Online (Sandbox Code Playgroud)
适用于两种浏览器.这是违规代码.这是Chrome或FF的错误,还是两种浏览器的预期行为?哪个浏览器是对的?
我已经构建了一个使用window.print()启用打印的页面.由于管理层有一些非常不寻常的要求,我需要能够捕获调用window.print()时出现的打印菜单的click事件.具体来说,在Chrome中,我需要捕获"打印"(蓝色)和"取消"(灰色)按钮的点击事件.
我不得不承认我甚至不知道从哪里开始.我检查了每个元素,可以看到这些是标准的html元素.这些按钮具有类(打印默认的打印按钮和取消的取消按钮),但没有标识.
我还注意到在打印菜单之外没有可见的DOM,并且打印菜单html标签的ID为'print-preview'.
如何捕获打印菜单按钮的点击事件(至少在Chrome中)?