Tag: javascript events

检测元素是否已停止动量滚动?

是否有可能通过Javascript检测元素是否已停止在Mobile Safari中滚动? 我有一个通过使用-webkit-overflow-scrolling:touch来动态滚动的元素,我需要检测元素是否已经停止滚动,包括在动量影响滚动之后。 这可能吗? 使用onscroll事件在我的应用程序中无法正常工作。

我怎样才能模仿stopImmediatePropagation()的行为(不使用jquery)

我正在研究Javascript库的事件处理代码,我正在尝试实现类似于stopImmediatePropagation()的东西,它也适用于IE 6。 事件处理当前的工作方式是,我们的事件处理代码向对象注册,然后用户使用我们的事件处理程序注册所有事件。 我尝试模拟stopImmediatePropagation()的第一种方法是简单地将该方法添加到事件中(如果它尚不存在): if (event != null && event.isImmediatePropagationEnabled == null) { event.stopImmediatePropagation = function () { this.isImmediatePropagationEnabled = false; }; event.isImmediatePropagationEnabled = true; event.isImmediatePropagationStopped = function () { return !this.isImmediatePropagationEnabled; }; } 当调用用户的事件处理程序回调时,它们将被传递到我们获得的相同事件对象中。 如果他们愿意,他们可以在事件上调用stopImmediatePropagation()。 当我们循环遍历我们注册的所有事件处理回调时,我们每次检查传播布尔值: given some event for [all the callbacks] { if (event != null && event.isImmediatePropagationStopped != null && event.isImmediatePropagationStopped()) […]

如何在JavaScript中以编程方式区分鼠标滚动和滚动?

我通过更改Javascript中的scrollLeft属性来滚动溢出的DIV内容: setInterval(function(){ $(‘#scrollbox’).scrollLeft($(‘#scrollbox’).scrollLeft()+1); }, 50); 但是,我想在用户使用鼠标滚动内容后立即停止此操作。 我试图使用scroll事件检测到这一点 $(‘#scrollbox’).scroll(function(){…}); 但是,我上面的自动滚动也会触发该事件。 我如何区分这个并且只对用户启动的滚动做出反应? (或者:如何阻止上面的代码触发滚动事件?这也可以解决问题)

jQuery卸载事件仅用于关闭窗口而不用于链接导航

我在关闭页面时使用此代码注销用户,但用户也会在点击其他链接(同一网站)时注销: $( window ).unload(function() { $.ajax({url:”?logout&leave=yes”, async:false}) }); 有没有办法区分链接导航和真实页面关闭? 编辑: 我目前正在实施此解决方案,但它缺乏检测页面重新加载 $(‘a’).click(function(){ var url = $(this).attr(“href”); window.onbeforeunload = null; $(window).unbind(‘beforeunload’); window.location = url; });

劫持onchange事件而不干扰原始function

我正在写一个图书馆我希望包含在可能已经使用onchange事件的不同页面上 – 有没有办法将我的事件附加到onchange而不删除原始事件? 编辑: 在窗口obj上的onchange。 不仅是一个单独的元素 – 在URL中的哈希变化中的onchange等等。抱歉,如果我混淆了它们!

按钮禁用,除非两个输入字段都有值

我的页面上有一个带有两个输入字段和一个提交按钮的表单,我希望在两个输入字段都有值的情况下禁用 “提交”按钮。 当且仅当两个字段中都有值输入时,该按钮才会被点击。 如何用js和jQuery实现这个? 这是我的页面: 我想同时拥有js和jQuery解决方案

javascript addEventListener onStateChange在IE中不起作用

我有两个彩盒弹出框,每个弹出框都显示一个youtubevideo。 当他们完成播放时,我试图让它们自动关闭彩盒窗口。 下面的代码在firefox中运行完美,但在IE中我无法使用addEventListener。 我试过attachEvent没有成功。 任何人都可以就如何解决这个问题提出任何建议吗? 看起来很简单,但我已经筋疲力尽,试图找到解决方案。 顺便说一句,这是我第一次在stackoverflow,这是非常令人印象深刻。 更新1: 嗯,这是我目前的代码。 它在FF中运行完美,但IE只输出良好。 IE8调试器也不报告任何错误…… function onYouTubePlayerReady(playerId) { if (playerId && playerId != ‘undefined’) { if(playerId && playerId == ‘ytvideo1’){ var ytswf = document.getElementById(‘ytplayer1’); alert(‘good’); } else if(playerId && playerId == ‘ytvideo2’){ var ytswf = document.getElementById(‘ytplayer2’); } else { } setInterval(”, 1000); ytswf.addEventListener(‘onStateChange’, ‘onytplayerStateChange’); alert(‘great’); } } function onytplayerStateChange(newState) […]

确定用户是否已启动给定的JavaScript操作

是否可以确定用户是否已启动给定的JavaScript操作? 例如,我想知道用户是否点击了链接,还是通过jQuery fire event方法?

使用jQuery .on()绑定准备并同时resize

这适用于在ready和resize上运行相同的代码: $(document).ready(function() { $(window).resize(function() { // Stuff in here happens on ready and resize. }).resize(); // Trigger resize handlers. });//ready 你会如何使用jQuery.on()完成相同的结果?

如何使用JQuery更改onClick复选框的值?

在这里,我试图在单击它时更改以下复选框的值。 在下面的代码中,我尝试将复选框的值更改为1,并在取消选中时将值更改为0。 但它只需要错误的条件,当取消选中复选框时,值会更改为0但是当选中它时不会更改为1.有任何建议如何解决这个问题?