Tag: javascript events

jQuery accordion:阻止窗格打开/取消changestart事件

我有以下标记: Stakeholder Content Relationships Blah blah Address Yada yada Contact Details Foo bar 我创建了一个如下手风琴: $(“#accordion”).accordion({ header: “h3”, fillSpace: true, changestart: function(event, ui) { if (someConditionIsTrue()) { event.stopPropagation(); event.preventDefault(); return (false); } } }); 这个想法是有一些用例会阻止用户更改窗格,但是上面的事件取消没有效果,窗格仍然可以更改。 有没有办法防止窗格的变化? 我还尝试以编程方式激活当前窗格以防止更改,但是会触发另一个changestart事件并且所有地狱都会松动(手风琴实际上会中断)

删除上一个笔划(创建一个临时行) – Javascript / HTML5

我正在尝试制作一个简单的绘图应用程序,并且我希望在指定行起点后行可以预览行。 相应的javascript是这样的: var Edges = new Array(); var Vertecies = new Array(); var Mouse = {x:0, y:0} function findPos(obj) { var curleft = 0, curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); return { x: curleft, y: curtop }; } return undefined; } function […]

如何将单击传播到光标下的所有div?

我有一堆divs绝对相互搭配。 当我将click事件绑定到所有这些事件时,只有top div响应。 如何将事件发送到光标下的所有div?

暂停Bootstrap轮播播放video时

我有多个video和图像幻灯片。 Carousel设置为加载时自动播放。 但是当有人播放video并将鼠标移出侧面时,它会一直滑动(如预期的那样)。 如何跟踪video播放和暂停的时间? 我搜索了SO,但没有找到类似的问题。 网站管理员稍后会添加video,因此可能是iframe或html5video。 所以,我需要一个既适用于两者的解决方案。

如何在我的手指已经在屏幕上之后添加到DOM的元素上捕获touchmove事件?

我正在为iPad开发一个javascript / html5项目。 我需要能够在一个元素上捕获touchmove事件,直到touchstart事件触发后(即直到一个人将手指放在屏幕上之后)才会添加到DOM 。 我试过模拟一个touchstart事件并以编程方式触发它… $( “#container” ).append( element ); element.on( “touchmove”, doStuff ); var ev = $.Event( “touchstart” ); element.trigger( ev ); ……但这不起作用。 我可以让doStuff开始射击的唯一方法是抬起我的手指,然后再次触摸屏幕,触发第二次touchstart事件。 如何在我的手指已经在屏幕上之后添加到DOM的元素上捕获touchmove事件?

jQuery检查元素上是否存在onClick

我找到了检查元素上是否存在事件的方法。 但它不适用于未被jQuery委派的事件…… 当我尝试时, $(“a”).data(“events”); 为了这。 它返回undefined。 有没有办法检查onQuery是否存在于jQuery的元素上? 谢谢。

使用jQuery,我如何暂时拦截超链接点击事件?

这个问题涉及联盟营销,但实际上是一个关于在超链接到其他站点之前拦截超链接的一般性问题,您可以将访问者活动记录到数据库。 我的联盟营销客户有一个非常好的问题。 想象一下,如果有一个种子关键字,你可以通过API从亚马逊取回产品。 现在假设访问者点击其中一个产品在亚马逊上查看它。 该产品的URL可能如下所示(这只是一个演示): http://www.amazon.com/dp/B0042RU3Y0/?tag=xxxxxxxxxxxxxxxx-20 但是猜猜那有什么不对? 它没有传递种子关键字。 因此,我们不知道哪个种子关键字最有效。 相反,她希望我们可以通过以下内容,然后以某种方式跟踪: http://www.amazon.com/dp/B0042RU3Y0/?tag=xxxxxxxxxxxxxxxx-20&seed=laptops 我没有在亚马逊上看到任何文档,我们可以传递额外的参数,然后通过filter在报告中跟踪它们。 所以,我唯一能想到的就是我们需要在它离开亚马逊之前捕获点击。 换句话说,在该事件冒泡并执行之前,在jQuery中我可以先拦截它,解析该超链接的href URL,添加这个额外的种子关键字信息,通过AJAX将其发送回PHP页面和数据库表,然后释放该click事件,以便它被执行并且浏览器将关闭到Amazon。 有谁知道这是如何在jQuery中完成的? 我知道AJAX部分 – 只是没有抓取点击的点击拦截部分,然后释放它。

如何在JavaScript(或jQuery)中实现自定义广播事件?

我想实现一个可以“广播”的自定义事件,而不是发送到特定目标。 只有那些已将自己注册为此类事件的侦听器的元素才会收到它们。 我的想法如下。 首先,在代码的不同位置,会有表单的陈述 some_subscriber.on_signal( ‘some_signal’, some_handler ); 我使用术语signal作为“广播事件”的简写。 在上面的表达式中, some_subscriber通过为它提供一个处理程序,将自身注册为这种信号的一种类型(称为’some_signal’)的监听器。 在代码的其他地方,会有表格的陈述 publisher.signal_types[ ‘some_signal’ ].broadcast( event_data ); 当执行这些语句时,会生成一个新事件并“ 广播 ”。 我的意思是,调用broadcast方法的代码没有关于它发出的信号的侦听器的直接信息。 我在这个jsFiddle中实现了这个想法的草图,主要是为了说明我在上面的文字中所描述的内容。 (它肯定不是生产级的,我不是特别相信它可以这么做。) 该实现的关键要素如下。 首先,发布者对象不会跟踪他们的订阅者 ,这可以在这种发布者的工厂方法的实现中看到,如下所示: function make_publisher ( signal_types ) { // … var _ , signal = {} , ping = function ( type ) { signal[ type ].broadcast( … ); } ; […]

使用jquery获取垂直滚动的最大值

这是我的视图代码我使用jquery它工作,我没有任何问题,直到我更改它停止工作的屏幕分辨率。 我知道问题在哪里,但我无法解决它看代码: @model PNUBOOKIR.Models.ProductModels @{ Layout = null; } Index var endRun = false; var PageNO = 1; $(window).scroll(function () { if ((($(“#container”).outerHeight() – 796) == ($(this).scrollTop())) && (!endRun)) { endRun = true; Load(); } }); $(document).ready(function () { Load(); return false; }); function Load() { var BtnShowMore = document.getElementById(“BtnShowMore”); BtnShowMore.innerHTML = “Loading…”; $.ajax({ type: […]

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’); }); 你可以在这里看到bug: http : //jsfiddle.net/h64xD/