Tag: events

AJAX GET竞争条件?

我试图通过类似于以下方法在我的网站上点击链接时跟踪事件。 Example jQuery(function($) { // track clicks on all anchor tags that require it $(‘a.track’).live(‘click’, function(e) { // send an AJAX request to our event tracking URL for the server to track it $.get(‘/events/track’, { url: $(this).attr(‘href’), text: $(this).text() }); }); }); 我遇到的问题是新页面加载会中断AJAX请求,因此有时这些事件不会被跟踪。 我知道谷歌分析有一个_trackPageviewfunction,可以附加到onclick事件,但这似乎不是一个问题。 我想知道他们的电话与我的看法有什么不同,我看到这种竞争条件,GA不是。 例如: Example 请注意,我并不担心AJAX请求的结果……我只是想让它以发生事件的事实来ping服务器。 (另外,我希望我能得到至少一个答案,说明只是从服务器端跟踪新的页面加载,而不是客户端。这对于这个问题不是一个可接受的答案。我正在寻找类似于无论是否加载新页面,Google Analytics的trackPageview函数都可以处理锚标记的点击事件。)

在jQuery中使用BIND或ON函数的最佳实践

最近,jQuery团队开始建议使用on而不是bind来绑定事件到DOM。 我想知道它们之间是否存在差异,使用on函数有什么好处,以及在我的代码中将所有bind更改为on函数是否是一个很好的调用?

使用jQuery绑定AngularJS元素指令上的事件

我在AngularJS中有一个指令: module = angular.module(“demoApp”, [], null); module.directive(‘sample’, function () { return { restrict: “E”, transclude: true, replace: true, template: “”, controller: function ($scope, $element) { this.act = function (something) { //problematic line HERE $element.trigger(“myEvent.sample”, [something]); }; } }; }) .directive(‘item’, function () { return { restrict: “E”, require: “^sample”, transclude: true, replace: true, template: “”, […]

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

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

在“mousedown”中使用event.preventDefault()是否会阻止jquery中的“click”或“mouseup”事件?

我是jquery新手,我怀疑在mousedown或mouseup事件中使用events.preventDefault()是否会阻止click或dblclick事件? 请给我一个澄清或样品。 提前致谢。 马杜

如何禁用/删除输入字段上的第一个空格?

大家早上好! 我有一个案例,我应该阻止用户输入空格作为输入字段的第一个字符。 我在这里有一个演示: http : //jsbin.com/foyetolo/2/edit 它仅在您第一次点击空格键时有效。 当您开始键入其他字符并在输入中选择整个文本(ctrl + a)然后点击空格键时,它会在输入字段的开头添加空格。 那么,如何在keypress / keydown上检查第一个字符是否为空格,返回false并且不允许它将空格键入第一个字符?

如何绑定到模糊和更改,但只在Jquery / Javascript中触发一次函数?

我正在尝试在更改select元素时触发函数。 由于Ipad在on(’change’)上遇到麻烦,我也想绑定到’blur’,这在Ipad上工作正常。 但是我不希望两个事件都触发该函数两次,所以我需要一些钩子来确保是否更改和模糊触发器,底层函数只被触发一次。 这就是我现在正在做的事情,但……不是很好: // make sure binding is only assigned once var compSel = $(‘#my_select’); if ( compSel.jqmData(‘bound’) != true ){ console.log(“bound”); compSel.jqmData(‘bound’, true) .on( $.support.touch ? ‘blur’ : ‘change’, function(){ console.log(“trigger”); // run function xyz }) } 如果您可以使用所有可模糊的可触摸设备,则此function正常。 题: 有没有人有更好的想法确保模糊和更改只触发一次function? 感谢帮助!

在动态插入jQuery库完成加载后执行我的jQuery脚本

我通过标签在页面上动态插入jQuery库: jq = document.createElement(‘script’); jq.setAttribute(‘src’,’//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js’); b.appendChild(jq); 然后我有一些jQuery脚本需要在jQuery库完成加载后运行并准备好使用: $(f).load(function() { $(f).fadein(1000); }); 如何让它等待jQuery加载?

为什么替换html的Backbone事件不起作用?

如果我在window.myView变量中存储视图,渲染它,然后在javascript控制台中调用: $(‘#container’).html(”) 然后打电话: $(‘#container’).html(window.myView.$el) 绑定事件将停止工作。 我很确定应该这样,但是: 为什么这样的方式呢? 如何重新渲染视图的子部分没有丢失事件绑定? 为什么调用myView.render()不会丢失事件绑定? 更新: 找到这篇文章。 这是什么原因? 确保jQuery不会在您不希望的情况下卸载事件 如果您正在构建一个应用程序,您可以在其中动态创建视图并将其附加/删除到dom,则可能会出现问题。 每次从dom中删除视图时,jQuery都会卸载所有事件。 因此,您无法引用视图并将其从dom中删除,然后再重新附加。 您的所有活动都将被卸载。 如果你想保持周围的观点,更好的想法是使用display:none来隐藏它们。 但是,您不应滥用此function并回收您暂时不会使用的视图(并防止内存泄漏)。

如何将事件处理程序绑定到JQuery中的实例?

我试图使用JQuery将事件绑定到Javascript“类”的特定实例的“方法”。 要求是我在事件处理程序中应该能够使用“this”关键字来引用我最初绑定事件的实例。 更详细地说,我有一个“类”如下: function Car(owner) { this.owner = owner; } Car.prototype = { drive: function() { alert(“Driving “+this.owner+”s car!”); } } 一个例子: var myCar = new Car(“Bob”); 我现在想要将一个事件绑定到我的汽车的驱动器“方法”中,这样​​当我点击一个按钮时,例如在Car“类”的myCar实例上调用驱动器“method”。 到目前为止,我一直在使用以下函数创建一个闭包,允许我使用“方法”中的“this”关键字轻松访问实例成员。 function createHandler( obj, method ) { return function( event ) { return obj[method](event||window.event); } } 我用过如下: document.getElementById(“myButton”) .addEventListener(“click”, createHandler(myCar,”drive”)); 我如何用JQuery完成这样的事情? 我特别要求将“this”与指定的实例联系起来,我可以独自处理另一个问题。