jquery现在的事件API:on,off,trigger支持带命名空间的事件,当事件有了命名空间,就可以有效地管理同一事件的不同监听器,在定义组件的时候,能够避免同一元素应用到不同组件时,同一事件类型之间的影响,还能控制一些意外的事件冒泡。在实际工作中,相信大家都用的很多,但是不一定了解它的所有细节,至少我有这样的经验,经常在碰到疑惑的时候,还得重新写例子去验证它的相关作用,所以本文想把事件命名空间相关的细节都梳理出...
前言在jquery的官方API中,有对命名空间的一些描述,地址是:http://api.jquery.com/on/ 这里面有一些英文介绍,题目是“Event names and namespaces”下面有一些介绍。 假如一些朋友不是很理解的话,我在这里简单的介绍一下!jQuery事件命名空间我们先看一些代码:$(“#haorooms”).on("click.a",function(){});$(“#haorooms”).on("click.a.bb",function(){});$(“#haorooms”).on("dbclick.a",function(){});$(“#haorooms”)...
用 jquery 绑定和解绑事件监听器都是非常简单的。但是当你为一个元素的一个事件绑定了多个监听器时,怎样精确地解绑其中一个监听器?我们需要了解一下事件的命名空间。看下面这段代码:$(“#element”).on(“click”, doSomething).on(“click”, doSomethingElse);像上面这样绑定事件监听器,当元素被点击时,doSomething 和 doSomethingElse 这两个监听器都会被触发。这是使用 jQuery 的一个便利之处,可以随时给元素的同一个事件...
在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为命名空间这玩意很简单,没有必要多解释? 先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象, 比如focus, mouseover, 和 resiz...
用 jQuery 绑定和解绑事件监听器都是非常简单的。但是当你为一个元素的一个事件绑定了多个监听器时,怎样精确地解绑其中一个监听器?我们需要了解一下事件的命名空间。 看下面这段代码: 代码如下: $(#element) .on(click, doSomething) .on(click, doSomethingElse); 像上面这样绑定事件监听器,当元素被点击时,doSomething 和 doSomethingElse 这两个监听器都会被触发。这是使用 jQuery 的一个便利之处,可以随时给元素的同一...
本文实例讲述了jquery利用命名空间移除绑定事件的方法。分享给大家供大家参考。具体分析如下:
最近研究jquery,发现了一个简单移除绑定事件的方法,命名空间。
例子很简单。
这里我绑定了三个事件,分别是click,mouseover和dblclick事件
其中click和mouseover事件我加入了命名空间,而dblclick没有加入命名空间。
利用一个button移除了绑定的事件。
这样避免了重复的使用bind和unbind方法,让你的代码看起来更简洁明了。 代码如...
本文实例讲述了jQuery命名空间与闭包用法。分享给大家供大家参考,具体如下:
/** 服务公司用户汇总,审核*/
(function() {"use strict";var companyList=new Object();//声明命名空间//时间戳格式化为时间
companyList.getLocalTime = function(nS){return new Date(parseInt(nS)).toLocaleString().substr(0,17);
}//节能服务公司用户listvar keywords_pagenumber=1;companyList.getCompanyUser = function(){var url="/ptsp/res...
本文实例讲述了jquery利用命名空间移除绑定事件的方法。分享给大家供大家参考。具体分析如下:
最近研究jquery,发现了一个简单移除绑定事件的方法,命名空间。
例子很简单。
这里我绑定了三个事件,分别是click,mouseover和dblclick事件
其中click和mouseover事件我加入了命名空间,而dblclick没有加入命名空间。
利用一个button移除了绑定的事件。
这样避免了重复的使用bind和unbind方法,让你的代码看起来更简洁明了。 代码如...
用 jQuery 绑定和解绑事件监听器都是非常简单的。但是当你为一个元素的一个事件绑定了多个监听器时,怎样精确地解绑其中一个监听器?我们需要了解一下事件的命名空间。 看下面这段代码: 代码如下:$(#element) .on(click, doSomething) .on(click, doSomethingElse); 像上面这样绑定事件监听器,当元素被点击时,doSomething 和 doSomethingElse 这两个监听器都会被触发。这是使用 jQuery 的一个便利之处,可以随时给元素的同一个...
在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为命名空间这玩意很简单,没有必要多解释? 先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式。所有JavaScript事件对象, 比如focus, mouseover, 和 resiz...
我正在使用此处提出的建议(http://www.odetocode.com/articles/473.aspx),使用模拟的Namespacing和原型制作JavaScript AJAX网络聊天系统.
在我的一种原型方法中,我在jQuery中调用$.ajax方法.然后,我要做的就是将返回的JSON数据传递到JavaScript网络聊天命名空间中的方法中.
问题似乎是因为我已经创建了JavaScript网络聊天的实例,无法直接在其中调用方法,因为我需要通过实例来解决它.
以下代码中的关键部分是success: function(data...
我目前正在为jQuery创建一个库插件,最终可能会作为一个开源项目发布.
我编写了许多自定义元素函数,并希望将与库相关的所有内容存储在命名空间中.
例如,假设我有一个名为toggle()的函数.通常,这将使用$(selector).toggle()调用.但是,我想调用它,以及使用类似$(selector).mylib.toggle()的其他函数,以免干扰其他库或插件.
我以前开发过jQuery插件,但从来不需要以这种方式保护方法.任何人都可以指出我如何编写功能来实现这一目标吗?解...
我习惯写这样的插件:;(function($){jQuery.fn.myPlugin=function(options){var defaults={'property':value},o=$.extend({},defaults,options||{});// INSERT AND CACHE ELEMENTSvar $Element=$('<div></div>');$Element.appendTo($('body'));function funFunction(){// I have access to $Element!$Element.hide(500);
};this.each(function(i){var $this=$(this);
});
return this;
});};})(jQuery);我知道它并不完美,这就是为什...
我正在使用jQuery来解析RSS提要.在每个< item>内是一个命名空间元素,如< content:encoded>我想选择.我如何在jQuery中选择它?$(xml).find('item') works but $(xml).find('item content') does not.解决方法:你是通过Ajax加载xml的吗?然后,确保服务器将内容类型设置为“text / xml”而不是“text / html”.
还要确保所需元素的标记名称确实是内容而不是其他内容(如内容:编码).在那种情况下尝试:.find('item content\\:encoded'...
这看起来很简单,但我无法想象如何扩展$fn命名空间.
JS:(function ($) {$.fn.myorg.level1.level2.myFunction = function (usettings, params) { return this.each(function () {//do work...etc});};
} (jQuery));$("bla").myorg.level1.level2.myFunction(...);如何定义命名空间链,以便我可以编写上面的函数?
我给出的示例非常简单,但是命名空间不会非常深,但是我需要能够随意扩展和添加函数…等到我的命名空间树.我不想为我添...