标签: javascript-events

如果XMLHttpRequest对象支持W3C Progress Events,如何检入JavaScript?

如果XMLHttpRequest对象支持W3C Progress Events,有没有办法在JavaScript中检查?我的意思是在这里,如果将onload,onprogress,onabort,onerror等属性设置为某些处理函数将具有那些称为那些事件的函数,如上所述.

附加(奖金)问题:有没有办法增加XMLHttpRequest(例如使用一些计时器)来支持这些事件?

阿里纳斯:我先在的XMLHttpRequest的上下文中找到关于W3C的进度事件在这里

javascript ajax xmlhttprequest javascript-events

8
推荐指数
1
解决办法
5157
查看次数

Javascript:如何检查表单字段上按下的键是否为数字(0 - 9)?

我在JavaScript中的表单字段上使用onkeyup事件,我想检查按下的键是否是数字 - 即.0 - 9,所以我可以用输入做一些事情.

<input type="text" onkeyup="" />
Run Code Online (Sandbox Code Playgroud)

我需要使用正则表达式吗?

谢谢

javascript javascript-events

8
推荐指数
2
解决办法
2万
查看次数

使用addEventListener有什么区别?

使用这个的主要区别是什么......

document.addEventListener('mousedown', function() {
    // code
}, false);
Run Code Online (Sandbox Code Playgroud)

...还有这个?

document.onmousedown = function() {
    // code
}
Run Code Online (Sandbox Code Playgroud)


会有任何不同的结果或任何原因吗?

javascript javascript-events

8
推荐指数
1
解决办法
1085
查看次数

附加事件处理程序的元数据存储在哪里?在"DOM",对象,还是......?

我一直想知道......所以你有这样的代码:

$('#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

8
推荐指数
2
解决办法
1524
查看次数

在directions_changed上刷新路标

我自己做了一个路线经理,有几个选项(比如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,尝试了不同的东西,但没有,必须遗漏一些东西.

javascript javascript-events google-maps-api-3

8
推荐指数
1
解决办法
2423
查看次数

IE bug触发点击2个按钮?

我试图在用户按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/

javascript forms jquery internet-explorer javascript-events

8
推荐指数
2
解决办法
2302
查看次数

为什么在firefox中键入textarea会导致屏幕滚动?

我正在遇到一个令人难以置信的问题,只有firefox中的同位素插件.我的每个同位素元素都有一个textarea,当我向下滚动到底部并键入其中一个textareas时,屏幕会跳到顶部.我在jsfiddle中重现了这个:

http://jsfiddle.net/galtschul/WfTZ5/

我一直在看这个几个小时,无法弄清楚是什么导致这个卷轴甚至开火.会爱一些帮助!

谢谢!

javascript firefox javascript-events jquery-isotope

8
推荐指数
1
解决办法
629
查看次数

如何检测window.location是否失败?

如何检查对window.location的调用是否失败,因为给定的URL无效等?是否有一些事件可以设置在窗口对象或其他可以捕获它的对象上?

javascript javascript-events window.location

8
推荐指数
1
解决办法
1万
查看次数

为什么"事件"在Chrome中全局可用,而不是FF?

在处理另一个问题的答案时,出现了一个奇怪的错误,该错误与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的错误,还是两种浏览器的预期行为?哪个浏览器是对的?

javascript jquery global event-handling javascript-events

8
推荐指数
1
解决办法
1270
查看次数

如何在Javascript window.print()调用的默认打印菜单上捕获click事件?

我已经构建了一个使用window.print()启用打印的页面.由于管理层有一些非常不寻常的要求,我需要能够捕获调用window.print()时出现的打印菜单的click事件.具体来说,在Chrome中,我需要捕获"打印"(蓝色)和"取消"(灰色)按钮的点击事件.

我不得不承认我甚至不知道从哪里开始.我检查了每个元素,可以看到这些是标准的html元素.这些按钮具有类(打印默认的打印按钮和取消的取消按钮),但没有标识.

我还注意到在打印菜单之外没有可见的DOM,并且打印菜单html标签的ID为'print-preview'.

如何捕获打印菜单按钮的点击事件(至少在Chrome中)?

google-chrome javascript-events

8
推荐指数
1
解决办法
5141
查看次数