Tag: 命名空间

我是否使用jQuery noconflict来避免插件冲突?

更新:我发现jquery.bxslider插件本身克隆并追加/ 预先导致问题的LI。 虽然没有解决方案,除了可能使用另一个脚本:( 我不得不将jQuery插件彼此部分冲突, Boxslider (图像滑块)和Colorbox (灯箱)。 它们都有效,但滑块脚本以某种方式广告到灯箱,因此第一个和最后一个图像重复两次。 如果您查看示例页面,这将更容易理解。 您会看到滑块中有3个图像,但打开灯箱时会显示5个图像。 我已经尝试过noconflict()运气了,但这完全阻止了任何工作。 经过一些搜索,我假设有一些命名空间问题,但我不知道在哪里或如何调试它。 我正在使用的脚本是 $(document).ready(function(){ $(‘#gallery’).bxSlider({ auto: true, wrapper_class: ‘gallery-holder’, auto: false, speed: 100, pager: true, next_text: ‘next’, prev_text: ‘back’ }); }); $(window).load(function(){ $(“#gallery a[rel=’group’]”).colorbox({maxWidth:”80%”, maxHeight:”80%”, scalePhotos: true}); }); 我已经尝试过交换订单,只有一个或两个停止工作。 我浪费了很多时间试图把它钉下来,所以任何帮助都会非常感激!

使用JavaScript命名空间有任何危险吗?

在创建JavaScript命名空间时,是否应该注意任何危险/警告? 我们的项目相当广泛,我们运行了很多JavaScript文件(20多个,期待更多)。 不使用命名空间就不可能有任何代码可维护性,所以我们这样实现它们: var namespace1 = { doSomething: function() { … }, doSomethingElse: function() { … } } 然后创建层次结构,我们将它们链接起来: var globalNamespace = { functions1: namespace1, functions2: namespace2, … } 这工作正常,但它本质上是一个“技巧”,使JS表现得好像它确实有名称空间。 虽然这种方法得到了很多使用,但大多数文献似乎都集中在如何做到这一点,而不是是否存在任何可能的缺点。 随着我们编写更多JS代码,这很快就会成为我们系统工作方式的一个组成部分。 因此,无缝工作非常重要。 是否存在这种“诱导”命名空间系统导致错误或需要特别注意的情况? 我们能安全地期望所有浏览器都有相同的行为

在没有命名空间的jquery中触发事件

使用当前版本的jQuery(1.8.3),您仍然可以使用以下代码(显示带有和不带命名空间的单击): $(“span”) .on(“click”, function(e) { console.log(‘click without a namespace’); }) .on(“click.namespace”, function(e) { console.log(‘click with a namespace’); }) .trigger(“click!”); // “click without a namespace” 的jsfiddle 但是,这似乎在1.9中被删除了。 新版本的jQuery(测试版)有没有办法复制这个function? 或者我必须创建这样的自定义事件: $(“span”) .on(“click”, function(e) { $(this).trigger(“customevent”); }) .on(“click.namespace”, function(e) { console.log(‘click with a namespace’); }) .on(“customevent”, function(e) { console.log(‘”click” without a namespace’); }) .trigger(“customevent”); 的jsfiddle

JQuery名称空间+通用实用程序函数的最佳实践

当前用于实现JQuery名称空间以托管通用实用程序function的“经验法则”是什么? 我有许多JavaScript实用程序方法分散在各种文件中,我想将它们整合到一个(或多个)命名空间中。 最好的方法是什么? 我目前正在查看两种不同的语法,按优先顺序列出: //****************************** // JQuery Namespace syntax #1 //****************************** if (typeof(MyNamespace) === “undefined”) { MyNamespace = {}; } MyNamespace.SayHello = function () { alert(“Hello from MyNamespace!”); } MyNamespace.AddEmUp = function (a, b) { return a + b; } //****************************** // JQuery Namespace syntax #2 //****************************** if (typeof (MyNamespace2) === “undefined”) { MyNamespace2 = […]

如何使用JQuery解析xml与命名空间(并适用于所有浏览器..)?

我需要使用JQuery解析来自Web服务的XML响应 http://code.jquery.com/jquery-1.11.0.min.js 在这里,您是我的XML示例 7.700007,44.802147 7.749396,44.849996 7.735138,44.810267 7.735138,44.810267 7.735138,44.810267 13800026457291 Borgata Tetti Sotto 16 01004041 12030 CARAMAGNA PIEMONTE CUNEO PIEMONTE 7.735397,44.812403 7.735397,44.812403 7.735397,44.812403 13800026457290 Borgata Tetti Sotto 25 01004041 12030 CARAMAGNA PIEMONTE CUNEO PIEMONTE 我必须在一些js变量中提取这些字段: MS:诺姆 MS:民间博物馆 MS:国家统计局 MS:帽 MS:COMUNE 我还需要确保我的代码在IE,Firefox和Chrome上运行正常。 我已经看过并尝试了几种我在SO中找到的解决方案,但都没有用。 任何建议都非常感谢! 非常感谢你提前!! 切萨雷

Django admin – jQuery命名空间

我正在尝试在我的Django管理站点中使用某些jQuery插件。 Django admin将jQuery命名空间设置为django.jQuery (以避免冲突) 如果我没有jQuery的默认$ namespace,那么插件将不起作用,是吗? 我必须做些什么 window.$ = django.jQuery ? 如何以及在何处更改整个管理站点的此命名空间?

如何更改jQuery的命名空间?

我正在开发一个内部使用jQuery的库,它可以正常工作。 但我不想强迫用户使用我的jQuery版本只是因为他在他的代码中使用了我的库。 所以问题是,如何在不同的名称下使用jQuery? 做这样的事情就足够了: var mylib.jQuery = {}; mylib.jQuery = jQuery.noConflict(true); 这将使jQuery在mylib.jQuery下mylib.jQuery并释放$符号,但原始的jQuery符号仍然有效(我认为这不太好)。

Jquery插件占用相同的函数名 – >冲突

我使用jquery expose插件和Masked Input插件遇到了问题。 问题是它们都占用$.mask函数,导致冲突。 但我非常需要这两个插件一起工作。 我会在其中一个中将$.mask重命名$.mask …让我们说, $.msk ,但在这种情况下我总是需要记住它,如果我想升级到新版本,我会再次重命名。 寻找更好的解决方案,以解决如何处理jquery插件之间的这种冲突。

Javascript命名空间

我希望通过将其分成不同的文件并使每个文件成为“子”命名空间来使我的javascript更加模块化。 subA.js if(typeof ex == “undefined”) { var ex = {}; } ex.subA = function() { //all functions of subA here } 对于subB等也一样 目前我有1个文件, ex.js var ex = (function() { //private vars/funcs return { //public vars/funcs } })(); 看起来我应该将我的大多数函数移动到subA.js和subB.js,但在开始时仍然包含ex.js,之后使用subA.js和subB.js。 我有很多问题。 我很难记住我是如何创建初始命名空间文件ex.js. 看起来匿名函数最初是为了使所有东西都是私有的,但我不记得为什么它需要括在括号中然后用();直接执行(); 在末尾。 从q1开始,我的子文件是否应该与ex.js的格式相同,即,将anon函数包含在括号中并立即执行? 看起来子文件只能访问ex的公共函数,这是真的吗? 如果是,我如何允许我的子文件访问私有函数? 在我的HTML文件中,在我的document.ready函数(jQuery)中,我应该将ex初始化为变量还是可以通过继续单独调用每个函数 $(document).ready(function(){ ex.doSomething(); ex.doSomethingElse(); } 这两者有区别吗? 我认为当包含ex.js时,会立即创建一个全局变量ex(由于匿名函数被立即执行),所以我不需要在document.ready中重新定义它。 subA.js中的第一个if语句与var ex […]

jQuery选择带有namespaced元素的选择器

我如何在jQuery中选择以下内容? 我试过下面的片段,但无济于事。 这可能吗? var x= $(‘ns:text’).attr(‘value’); return x; var x= $(‘text’).attr(‘value’); return x;