Tag: 方法

Jquery插件,从其他方法调用函数

像这里的许多其他类似问题一样,我正在编写我的第一个jQuery插件。 它旨在采用select元素并用可点击的列表元素替换选项,以用作样本。 我的主要function运行良好,但我需要添加调用另一个方法的function,这将禁用某些选项。 我的问题是,在执行此操作时,我需要绑定一些点击元素并取消绑定其他元素。 目前我的原始绑定包含在我的’init’方法中的函数中。 我需要能够从另一个’禁用’方法调用该函数。 所以这里是一些代码: (function($){ var methods = { // Init method init : function(options) { // Set options var defaults = { clickCallback: function(){} // Define empty function for click callback } , settings = $.extend({}, defaults, options) // Function to bind options function fnBindOptions(var1, var2, var3) { // Stuff to […]

我试图将一个length()方法原型化为Object并打破jQuery – 怎么样?

我写了以下内容: Object.prototype.length = function(){ var count = -1; for(var i in this) count++; return count; } 有用。 但是当我执行我的页面时,即使不使用这个函数,Firebug告诉我jQuery的.appendTo()不再是一个函数。 为什么会这样?

jQuery覆盖$ .post函数

首先,我为我可怜的英语道歉…希望有人能理解我的问题并帮助我…… 我正在使用大量的$ .post调用项目,我希望通过为所有这些调用添加相同的validation来改进它们。 我不想一个接一个地更改所有脚本,所以有没有办法覆盖$ .post函数同时向所有脚本添加相同的东西? 或者也许是一种在每个$ .post上触发另一个函数的方法? 就像是 : $.post.each(function(){[…]}); 要么 $(‘body’).on(‘post’, function(){[…]}); 谢谢 ! 编辑:最后按我的意愿做了! 这是我的代码: // Override $.post (function(){ // Store a reference to the original remove method. var originalPostMethod = jQuery.post; // Define overriding method. jQuery.post = function(data){ // Execute the original method. var callMethod = originalPostMethod.apply( this, arguments); callMethod.success(function(){ //console.log(‘success’); }); […]

如何在括号表示法访问的元素上使用jQuery方法?

来自jQuery对象的元素可以通过括号表示法访问,如下所示: $(‘div’)[0]但是在这种情况下不能使用jQuery方法。 任何其他方式访问某些元素或使用jQuery方法?

EmberJS TypeError:对象#没有方法’拒绝’

我用ember设置了这个应用程序,我收到了这个奇怪的消息: TypeError:对象#没有方法’拒绝’ 这是我的EmberJS应用程序配置: App = Ember.Application.create(); App.Store = DS.Store.extend({ revision: 12, adapter: DS.RESTAdapter.extend({ url: ‘http://localhost:8080’, namespace: ‘6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b’ }) }); App.Router.map(function() { this.resource(‘collections’); }); App.IndexRoute = Ember.Route.extend({ redirect: function(){ this.transitionTo(‘collections’); } }); App.CollectionsRoute = Ember.Route.extend({ model: function(){ return App.Collection.find(); } }); App.Collection = DS.Model.extend({ name: DS.attr(‘string’), createdAt: DS.attr(‘date’) }); 有任何想法吗? 🙁

如何向jQuery对象添加新方法?

有没有办法为jQuery的对象添加方法? 例如,我有jQuery对象 a = $(‘div’) 我希望每个被分配的对象都有特定的方法( doSomething() )所以我可以像调用它一样调用它 a = $(‘.foo’) a.doSomething() b = $(‘.bar’) b.doSomething()

哪种jQuery方法更好:“。attr(’data-thing’);”或“.data(’thing’);”

哪一个更好: $(‘div’).attr(‘data-stuff’); 要么 $(‘div’).data(‘stuff’); 在对此主题的评论中进行讨论后,我很想知道哪个更好用,如果有的话。

jQuery每个方法都没有返回值

$(document).ready(function() { $(‘#commentForm’).submit(function(){ return $(‘input[type=text], textarea’).each(function(index){ if($(this).attr(‘value’) == “”){ alert(msgHash[$(this).attr(‘id’)]); return false; }else{ if(!$(this).attr(‘value’).match(validateHash[$(this).attr(‘id’)])){ //Do nothing alert(msgOnError[$(this).attr(‘id’)]); return false; } } }); return true; }); }); 这里msgOnError,msgHash和msgHash是我用来获取具有特定ID的每个文本框的消息的地图。不幸的是,每个方法都不返回false来取消提交表单。 我究竟做错了什么 ?? 我是jQuery的新手,谢谢

Javascript IE错误:意外调用方法或属性访问

我有以下代码,它在除了IE之外的所有东西中工作(像往常一样)。 它让我在Jquery中意外调用方法或属性访问,我不知道如何调试它。 我一直在使用IE开发人员工具栏,这对于这个错误没用,只给了我一行12号(在jquery脚本里面)。 非常感谢任何帮助: $(document).ready(function () { $.history.init(pageload); $(‘a[href=’ + window.location.hash + ‘]’).addClass(‘selected’); $(‘a[rel=ajax]’).click(function () { var hash = this.href; hash = hash.replace(/^.*#/, ”); $.history.load(hash); $(‘a[rel=ajax]’).removeClass(‘selected’); $(this).addClass(‘selected’); $(‘.loading’).show(); getPage(); return false; }); }); function pageload(hash) { if (hash) getPage(); } function getPage() { hash = document.location.hash; hash = hash.replace(/^.*#/, ”); var data = ‘page=’ + […]