Tag: 名称空间

如何访问此ajax请求的返回值?

我有这个代码 var stats = { GetMetaData : function() { var url = ‘http://www.bungie.net/api/reach/reachapijson.svc/game/metadata/’+storage.get(‘apikey’); $.ajax({ url: url, success: function(data) { return data; } }); return ‘abc’; } } 我使用stats.GetMetaData();调用该函数stats.GetMetaData(); 我希望返回的值是ajax请求的data变量。 但相反它是字符串’abc’为什么会这样? 如何返回data变量? 我尝试return $.ajax({但只返回function代码。

如何在输入id等于’submit’的情况下提交javascript

我已经将提交事件绑定到表单,并确保它们不会破坏表单,使用这样的jQuery: jQuery(‘form’).submit(function(e){ var form = this; e.preventDefault(); alert(‘1’); setTimeout(function() { alert(‘2′); form.submit(); }, 1000); }); 这一切都很好,除非,如果由于某种原因,前端开发人员给这个表单的子输入id =“submit”,这会中断,因为form.submit()会抛出一个JavaScript错误(在Chrome中,’未捕获的TypeError:对象#的属性’submit’不是函数’)。 你可以看到这里发生的一个例子: http : //jsfiddle.net/q68ky/ (如果没有这是行为: http : //jsfiddle.net/JpXzL/ 现在,我知道我可以通过jQuery(‘form’).not(:has(‘#submit’)).submit()来阻止这个带有id为’submit’ jQuery(‘form’).not(:has(‘#submit’)).submit() ,表单将过程很好,但我的绑定永远不会触发那些forms。 所以,问题是:我如何安全地将这个jQuery函数绑定到所有表单,包括那些带有 ? 编辑:值得注意的是,如果我取消绑定提交处理程序然后在jQuery(form)上触发jQuery提交,这个问题不会消失。

JavaScript中的Java-esque OOP和jQuery失败

我正在研究一个项目,我真的想编写面向对象的JavaScript代码。 我刚开始阅读Douglas Crockford的JavaScript:The Good Parts ,我很快就意识到在JavaScript中编写Java-esque OOP将是一项艰巨的任务。 到目前为止,我写了类似下面的内容…… // index.html $(document).ready(function() { $().SetUpElements(); }); // this is in a different js file $.fn.SetUpElements = function() { // do stuff here $().UpdateElement(); }; // this is in yet another different js file $.fn.UpdateElement = function() { // do stuff here var element = new Element(id, name); […]

如何在Django admin中向第三方外部jQuery插件提供$

我在我的Django管理员基础模板中包含了几个第三方jQuery插件,假设“$”可用。 对于我自己的代码,我一直很乐意这样做 (function($) { my_code = ‘here’; })(django.jQuery); 但是如何向外部文件中的其他人的代码提供“$”? 抱怨“$​​”未定义。 我试过放 var $ = django.jQuery; 在那个外部引用之前,但无济于事(顺便说一下,为什么会这样?我理解加载同时发生,但是执行?我可以在定义之后立即使用“$”。)。 我对Django管理员提供的jQuery版本感到满意,并且真的不想加载另一个版本。 我也不想编辑其他人的插件,以便从上面的“$”重新定义开始。 编辑:我也不想像我自己的代码一样包装它,我只是不想触摸这些文件。 我是否真的不得不将$ .getScript() – http://api.jquery.com/jQuery.getScript – 放入我的匿名函数来加载这些文件? 编辑:在实际查看外部文件jquery.json-2.2.min.js之后,我看到它已经被包装到一个函数中,假定“jQuery”可用,而不是“$”。 插入后 var jQuery = django.jQuery; 在外部参考之前,它工作正常。 但这真的应该如何做到这一点?

了解JS Module Pattern的工作原理

我正在尝试理解jQuery中使用的js模块模式。 我已经编辑了几次,并试图在我的技能水平上做一个很好的练习(几个月新鲜的jquery)。 这篇文章没有直接的问题。 我更瞄准如何在大型网站中正确使用模块模式(以及jquery)的反馈和输入。 更新 :我添加了一些示例,以便全面了解所有编写内容的方法,并尝试覆盖任何陷阱。 /* Not all browsers works with console.log, so we want to make sure that console.log is defined. This defines the consol.log and send the messages into an alert. */ if(!window.console) console = { log: function(s) { alert(s); // alert since we dont have the firebug console } }; // […]

使用jQuery $()。find解析带有命名空间的XML

我正在尝试获取XML文档元素的内容,但该元素的名称中包含冒号。 此行适用于每个元素,但名称中带有冒号的元素: $(this).find(“geo:lat”).text(); 我认为冒号需要逃脱。 我该如何解决?