标签: javascript-events

在Internet Explorer中触发window.resize事件

如您所知,在Internet Explorer中,当页面上的任何元素调整大小时,会触发window.resize事件.通过分配/更改其高度或样式属性,通过简单地向其添加子元素或其他任何内容来调整页面元素的大小也无关紧要 - 即使元素大小调整不影响视口本身的尺寸.

在我的应用程序中,这导致了一个讨厌的递归,因为在我的window.resize处理程序中我正在调整一些<li>元素,这反过来会重新触发window.resize等.再次,这只是IE中的一个问题.

是否有任何方法可以阻止window.resize在IE中触发以响应正在调整大小的页面上的元素?

我还应该提到我正在使用jQuery.

javascript jquery internet-explorer resize javascript-events

75
推荐指数
5
解决办法
6万
查看次数

window.onbeforeunload和window.onunload在Firefox,Safari,Opera中不起作用?

在我的聊天应用程序中,当我的应用程序关闭时,我需要得到用户的确认.

所以我使用了window.onbeforeunload确认警报和window.onunloadlogout().

  1. 但这两个功能都在IE和Chrome中运行.(应用程序运行正常)

  2. window.onbeforeunload 没有在Opera工作,我的消息将不会在Firefox中显示.

  3. window.onunload 不适用于Safari,Opera和Firefox.

我的javaScript代码将是,

// Used for confirmation , to closing the window 
window.onbeforeunload = function () {

    return  "Are you sure want to LOGOUT the session ?";
}; 

// Used to logout the session , when browser window was closed 
window.onunload = function () {

    if((sessionId != null)&&(sessionId!="null")&& (sessionId != ""))
        logout();
};
Run Code Online (Sandbox Code Playgroud)

我也尝试了与JQuery相同的功能,

<script type="text/javascript">

    $(window).on('beforeunload', function() {
        return 'Are you sure want to LOGOUT the session ?';
    });

    $(window).unload(function() …
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events

73
推荐指数
5
解决办法
18万
查看次数

如何在JavaScript中实现锁定

如何lock在JavaScript中实现与C#相同的东西?

所以,要解释我在想什么简单的用例是:

用户点击按钮B. B提出onclick事件.如果B是在event-state事件等待B是在ready-state传播之前.如果B处于ready-state,B已锁定并设置为event-state,则事件将传播.事件的传播完成后,B设置为ready-state.

我可以看到如何通过添加和删除ready-state按钮中的类来完成与此相近的操作.但是,问题是用户可以连续两次单击按钮,而不是可以设置变量,因此在某些情况下锁定尝试将失败.

有谁知道如何实现一个不会在JavaScript中失败的锁?

javascript events deadlock locking javascript-events

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

Event.target,Event.toElement和Event.srcElement有什么区别?

我有以下代码:

document.oncontextmenu = function(evt) {
    evt = evt || window.event;
    console.log(evt.target, evt.toElement, evt.srcElement);
};
Run Code Online (Sandbox Code Playgroud)

通过在a上单击鼠标右键<div class="foo"></div>,返回:

div.foo,div.foo,div.foo

通过在a上单击鼠标右键<input>,返回:

输入,输入,输入

所有似乎都带来了同样的结果.是否存在其中一种用途与其他用途不同的情况?

javascript javascript-events

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

jQuery逐步读取AJAX流?

我已经阅读了这个问题,但它并没有完全回答我的问题.不幸的是,自从我上次查看AJAX以来,看起来XHR对象中的内容发生了变化,因此responseText在完成填充之前不再可以直接访问.

我必须编写一个使用AJAX(最好是jQuery,但我愿意接受建议)的页面来从我无法控制的服务器通过HTTP检索CSV数据.响应数据可能非常大; 一兆字节的文本并不少见.

服务器是流友好的.是否有任何方法可以直接从JavaScript返回数据流?

我可以选择编写一些生活在中间的PHP代码并使用某种"Comet"技术(长轮询,EventSource等),但我希望尽可能避免这种情况.

如果它是相关的,假设这个问题用户有最新版本的Firefox/Chrome/Opera和旧的浏览器兼容性不是问题.

ajax jquery javascript-events long-polling http-streaming

70
推荐指数
4
解决办法
7万
查看次数

获取使用JQuery触发事件的元素的类

无论如何在点击事件被触发时获取该类.我的代码如下,它只适用于id但不适用于class.

$(document).ready(function() {
  $("a").click(function(event) {
    alert(event.target.id + " and " + event.target.class);
  });
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>

<body>
  <a href="#" id="kana1" class="konbo">click me 1</a>
  <a href="#" id="kana2" class="kinta">click me 2</a>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

这里有 jsfiddle代码

javascript jquery javascript-events

70
推荐指数
4
解决办法
16万
查看次数

什么是"事件发射器"?

通过http://microjs.com浏览,我看到许多标记为"事件发射器"的库.我喜欢认为我很熟悉javascript语言的基础知识,但我真的不知道"事件发射器"是什么或者做什么.

有人关心开导我吗?听起来很有趣...

javascript events event-handling javascript-events

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

jQuery $(document).ready()触发两次

所以我一直在网上搜索,试图找出这里发生的事情,我无法得到具体的答案.

我在我的网站上有一个$(document).ready,无论内部代码是什么,都会连接多次运行.

我已经阅读了jQuery的bug报告,了解如果你的语句中发生异常,.ready事件将如何触发两次.但即使我有以下代码,它仍会运行两次:

$(document).ready(function() {
    try{    
        console.log('ready');
        }
    catch(e){
        console.log(e);
    }
});
Run Code Online (Sandbox Code Playgroud)

在控制台中,我看到的是"准备好"两次记录.是否有可能另外一个有例外的问题会引起问题?我的理解是,所有.ready标签都是相互独立的,但我似乎无法找到它在哪里发挥作用?

这是该网站的主要部分:

<head>
<title>${path.title}</title>
<meta name="Description" content="${path.description}" />
<link href="${cssHost}${path.pathCss}" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="media/js/fancybox/jquery.fancybox.pack.js" type="text/javascript" ><!-- --></script>
<script src="/media/es/jobsite/js/landing.js" type="text/javascript" ><!-- --></script>
<script src="/media/es/jobsite/js/functions.js" type="text/javascript"><!-- -->    </script>
<script src="/media/es/jobsite/js/jobParsing.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="/media/es/jobsite/js/queryNormilization.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery/jquery.metadata.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery/jquery.form.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery.i18n.properties-min.js" type="text/javascript" charset="utf-8"><!----></script>

<script type="text/javascript" charset="utf-8">

function updateBannerLink() {
    var s4 = location.hash.substring(1);
    $("#banner").attr('href','http://INTELATRACKING.ORG/?a=12240&amp;c=29258&amp;s4='+s4+'&amp;s5=^');
} …
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events document-ready

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

使用mocha的--debug-brk开关启用节点调试器的正确方法是什么?

我在我的测试模块中有一些调试器语句,并希望运行mocha并设置--debug-brk并点击我的断点,以便我可以检查模块的状态.不幸的是,每当我用这个选项运行mocha时,我最后会在下一行显示一个空白光标.我可以输入文本,但似乎没有任何东西可以处理我的命令(它当然不像节点调试器):

$ mocha --debug-brk tests.js -R spec
debugger listening on port 5858
[BLANK CURSOR]
Run Code Online (Sandbox Code Playgroud)

我是如何推出摩卡咖啡的?

javascript-events mocha.js node.js

68
推荐指数
5
解决办法
4万
查看次数

使用ng-click自动传递$ event?

我知道ng-click如果我$event像这样传入对象,我可以访问click事件:

<button ng-click="myFunction($event)">Give me the $event</button>

<script>
  function myFunction (event) {
    typeof event !== "undefined" // true
  }
</script>
Run Code Online (Sandbox Code Playgroud)

$event每次都必须明确传递,这有点烦人.ng-click默认情况下是否可以设置为以某种方式将其传递给函数?

javascript javascript-events angularjs angularjs-directive angularjs-ng-click

67
推荐指数
3
解决办法
12万
查看次数