Tag: javascript

jQuery祖先使用jQuery对象

我想用两个jQuery对象来检查祖先。 它们没有ID,只能作为jQuery对象使用(如果调用get()则为DOM节点)。 jQuery的is()只适用于表达式,所以这段代码是理想的但不起作用: var someDiv = $(‘#div’); $(‘a’).click(function() { if ($(this).parents().is(someDiv)) { alert(‘boo’); } } 只是想看看一个元素是否是另一个元素的孩子,我想尽可能避免退回DOM领域。

推迟删除视图,以便对其进行动画处理

假设我有一个显示基于属性的视图的模板: {{#if App.contentsAreVisible}} {{view ToggleContents}} {{/if}} 通过设置App.set(“contentsAreVisible”, [true/false]);通过UI的任意数量的其他部分切换此区域App.set(“contentsAreVisible”, [true/false]); 一切正常。 但是,我现在想要在切换视图时进行动画处理。 挂钩到didInsertElement可以显示区域的动画,但我不能在willDestroyElement执行相同操作,因为在动画有机会运行之前,该函数一返回就会删除该元素。 App.ToggleContents = Ember.View.extend({ // this works fine didInsertElement: function(){ this.$().hide().show(“slow”); }, // this doesn’t work willDestroyElement: function(){ this.$().hide(“slow”, function(){ // animation is complete, notify that the element can be removed }); } }); 有没有办法告诉视图推迟从DOM中删除元素,直到动画完成? 这是一个互动示例的小提琴: http : //jsfiddle.net/rlivsey/RxxPU/

如何在jquery中绑定组合键ctrl + x + return

有没有办法在jquery(或javascript)中捕获键组合ctrl + x + return ,这样如果用户按下这个组合键,就会调用一个函数。 我尝试使用jquery hotkeys插件,但是没有用。

jquery:选择文本事件

是否有可能当用户选择一些文本(非文本区域或输入)时,jquery可以调用我的回调让我知道选择了哪个div文本,如果选择焦点丢失也可以调用我的回调? 谢谢。

如何检查滚动条是否在底部

如何检查滚动条是否位于底部? 使用JQuery或JavaScript

如何模拟用户单击JQuery中的链接?

现在这里有很多类似的问题,但我想知道,我该怎么做,如果我不想只是改变窗口的location ,而是触发任何可能绑定到click事件的函数,并且只改变href如果它们没问题,或者只是重定向,如果没有听众。 例如: var a = $(‘.edithost’); a.click(function() {return false;}); 我应该用鼠标点击链接,它永远不会把我带到href,所以只需将用户重定向到attr(‘href’)就会改变页面的预期行为。 此外,点击不仅适用于链接,也适用于按钮,在这种情况下,我必须提交表单等。 所以我想知道,是否可以模拟单击一个元素,以便浏览器的所有行为完全相同,就像用鼠标点击一样? 没有绑定到链接的侦听器。 例: var a = $(‘google’); a.click(); a.trigger(‘click’); 这不会带你去谷歌,我想让它做到。 更新: .click()将无法正常工作。 trigger(‘click’) 。 preventDefault与此无关

带有选择器的本机addEventListener,如jQuery中的.on()

有谁知道如何在本机JS中实现jQuery的.on()方法? “addEventListener”方法不会将子/选择器元素作为过滤方式,我认为我没有正确的冒泡/捕获知识来完全理解那里发生的事情。 我确实在event.js中查询了源代码,看起来最终addEventListener确实像通常那样被使用了,但是我不确定我是否非常了解源代码。 如果本机方法没有提供利用冒泡和捕获的机制,那么jQuery .on()函数是否真的有任何好处,或者只是让它看起来那样? 我的印象是 .on(‘parent’, ‘.child’, fn(){}); 比单独将事件附加到所有孩子更有效,但是根据我对源的解释,很难判断jQuery是否以某种方式管理这种方式以提高性能,或者仅仅是为了提高可读性。 是否有一种标准方法可以在父母身上实施事件,利用其子元素的冒泡/捕获阶段,而不是必须将事件附加到每个孩子身上?

处理jQuery.getScript中的错误

jQuery的getScript函数似乎不支持错误回调函数。 我不能在这里使用全局ajaxerror handling代码,本地错误函数将是理想的。 回调获取data / textStatus的文档似乎不正确 – 回调都没有。 关于我如何检测到对getScript的调用失败的任何建议(例如服务器不可用)? 编辑:只看源,看起来回调只是在成功时调用,数据总是设置为null而textStatus没有定义(因为它是一个成功的回调,我猜)。 该function的文档非常不正确。

在mouseup事件处理程序中取消单击事件

编写一些拖放代码,我想在我的mouseup处理程序中取消单击事件。 我认为防止默认应该做的伎俩,但点击事件仍然被触发。 有没有办法做到这一点? 这不起作用: test $(“#test”).mouseup (function (e) { var a = 1; e.preventDefault(); }); $(“#test”).click (function (e) { var a = 2; });

JQuery event.stopPropagation()不起作用

在我的html中,我有一个嵌入在li中的类dragHandle。 Item 1 Item 2 link 我使用jQuery附加事件处理程序,如下所示: $(“.tree li”).click(function(event) { alert(“click”); event.stopPropagation(); }); $(“.dragHandle”).mousedown(function(event) { alert(“down”); event.stopPropagation(); }); $(“.dragHandle”).mouseup(function(event) { alert(“Up”); event.stopPropagation(); }); 当我mousedown并将鼠标放在元素上时,我得到了向下和向上警报,但是我也得到了li的事件处理程序的点击警报。 我认为应该通过调用mousedown和mouseup处理程序中的event.stopPropagation来防止这种情况。 如何停止在dragHandle上调用mousedown / up事件的click事件? TIA,亚当