Tag: javascript events

在twitter bootstrap Typeahead处理选定的事件?

我想在用户使用twitter bootstrap Typeahead 选择一个值后运行javascript函数 我搜索一些像选定的事件

使用Handlebars.js助手用jQuery创建活动元素?

是否可以在Handlebars.js帮助器中使用jQuery创建元素并将事件处理程序附加到它们? 我希望能够使用帮助程序创建活动元素。 例: Handlebars.registerHelper(“button”, function(title) { var button = $(”).text(title); button.click(function() { alert(“Button ” + title + ” clicked.”); }); return $(”).append(button).html(); }); 在把手模板中,我实例化按钮,如下所示: {{{button “Click Me!”}}} 我知道这不行,因为jQuery的html()函数`删除’事件处理程序……但是简单地返回按钮显然也不起作用。 Handlebars helpers应该能够返回DOM节点,但这是不可能的,对吧? 我试图返回button.get() ,但没有成功。 有任何想法吗?

$(e.currentTarget)和$(this)之间有区别吗?

以下两种方法有什么区别吗? 比#2快#1? #1 $(‘#selector’).on(‘click’,function(){ $(this)… // do stuff with clicked element }) and #2 $(‘#selector’).on(‘click’,function(e){ $(e.currentTarget)…. // do stuff with clicked element })

preventDefault()不起作用

当我在链接上使用event.preventDefault()时,它可以工作,但是当我在按钮上使用它时不行! DEMO 我的代码: link button​ $(‘#link’).click(function(event){ event.preventDefault(); }); $(‘#button’).click(function(event){ event.preventDefault(); }); 链接操作被取消,但是当我单击按钮时,仍然执行onClick操作 有帮助吗? 我想要做的是在不更改按钮html的情况下阻止按钮onClick动作(我知道该怎么做 $(‘#button’).removeAttr(‘onclick’);

jQuery $(window).resize(); 等效事件监听器,只在指定轴上触发更改?

我正在寻找一个事件监听器,它的作用类似于jQuery的.resize(),但只有当resize的对象(谈论窗口)在x轴或两者中resize时才会触发,但不会仅在y轴上调整。 – 所以基本上它只会监听宽度的resize事件。

有没有办法在focusOut中使用event.preventDefault? 如果没有,为什么?

我想阻止focusOut (或blur )事件的默认事件,并将焦点设置为特定的输入字段。 这是我已经尝试过的: 在函数的开头和结尾使用event.preventDefault() (用于测试目的,而不是样式) return false; 防止传播 将焦点直接设置回元素中的元素(但我发现焦点仍然会切换,因为在.on()函数执行后执行焦点切换。我知道我可以使用setTimeout ,但我想避免它并弄清楚问题的核心。) 使用blur而不是focusOut 我的代码是这样的: _triggerEventHide: function(inst, eventType) { inst.$target.on(eventType, function(event) { event.preventDefault(); if (!$.suggestBox.$divCont.hasClass($.suggestBox.mouseOverClassName)) { $.suggestBox.$divCont.css({display: ‘none’}); //reposition Suggestbox } else { inst.target.focus(); } event.preventDefault(); return false; }); } 请注意, $target表示jQuery包装的元素, target表示本机DOM元素。 我做了一些研究,已经发现了一些与我的问题相关的文章,但没有一个回答这个问题。 preventDefault对焦点事件不起作用 – 这里给出的答案是使用任何类型的事件操作的替代路径。 如果没有必要的值 ,将焦点reflection回文本框 – 这里,解决方案是使用setTimeout()将焦点设置回原始元素,这很好 ,但我想了解问题的核心,为什么preventDefault()不能在这里工作。 jQuery preventDefault()不工作 – 我尝试了一些可能的解决方案来自这个线程,比如使用event.stopImmediatePropagation()和event.stop() ,但一切都没有用。 […]

点击后触发骨干事件或按回车键

我是骨干的新手,我正在寻找一种方法,当我按下Enter键并单击时触发我的按钮。 目前showPrompt仅在单击时执行。 什么是最干净的DRYest方式,让它在按Enter键时执行,最好只用于输入字段。 (function () { var Friend = Backbone.Model.extend({ name: null }); var Friends = Backbone.Collection.extend({ initialize: function (models, options) { this.bind(“add”, options.view.addFriendLi); } }); var AppView = Backbone.View.extend({ el: $(“body”), initialize: function() { this.friends = new Friends(null, {view: this}); }, events: { “click #add-friend”: “showPrompt”, }, showPrompt: function () { var friend_name = […]

点击使用YOUTUBE Iframe加载多个video

我在主video容器下面有一些缩略图。 我想点击每个缩略图 – 关联的video加载并开始播放使用新的YOUTUBE API IFRAME方法 您的帮助或指示将不胜感激 在这里预览JSFIDDLE 预览链接更新***

执行ESC键的onclick

简而言之,我的问题是我想用一行javascript执行Esc按钮的效果,例如执行效果点击Esc按钮。 我该怎么做 ? [我有一个jQuery框中的上传,所以我希望当上传完成后,将自动执行转义function关闭框]

动态绑定事件处理程序的最有效方法

问题:我需要在动态运行时将任意数量的事件处理程序绑定到任意数量的元素(DOM节点, window , document ),并且我需要能够在我的生命周期内更新动态创建(或销毁)节点的事件绑定。页。 我可以看到有三个选项来解决这个问题: I) window事件委托 II)每个节点上的直接事件绑定 III)共同祖先的事件委托(直到运行时才会知道,并且在DOM被更改时可能需要重新计算) 这样做最有效的方法是什么? 一点背景 我正在处理一组需要对用户事件进行分析跟踪(点击,滚动等)的页面,我希望能够在一堆页面中轻松配置这些事件处理程序,而无需编写脚本来处理事件每个实例的绑定。 此外,因为我可能需要在将来跟踪新事件,或者跟踪动态添加到页面/从页面中删除的元素上的事件,我需要能够考虑在生命周期中发生的DOM中的更改的页面。 作为我目前正在考虑的一个例子,我想创建一个接受配置对象的函数,该对象允许程序员为每个事件指定默认处理程序,并允许它们为特定元素覆盖它们: Analytics.init({ // default handlers for each event type defaultHandlers: { “click”: function(e) { … }, “focus”: function(e) { … } }, // elements to listen to targetElements: { // it should work with non-DOM nodes like ‘window’ and ‘document’ window: […]