首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

上拉自动提示类的解析

2012-10-13 
下拉自动提示类的解析公司使用的下拉自动提示类使用的是? j.suggest.js?简单分析下源码: ?//download by h

下拉自动提示类的解析

公司使用的下拉自动提示类使用的是? j.suggest.js

?

简单分析下源码:

?

//download by http://www.codefans.net(function($) {  $.suggest = function(input, options) {     options.onSelect.apply(options.cityList[$input[0].value]);    }  $.fn.suggest = function(source, options) {    this.each(function() {      new $.suggest(this, options);    });    return this;  };})(jQuery);

?

其中:

?

(function($) {.......})(jQuery);

?

是对JQUERY内部方法的扩展

?

//对所有的JQUERY实例添加 方法 suggest

? $.fn.suggest = function(source, options) {
??? this.each(function() {
????? new $.suggest(this, options);
??? });

??? return this;

? };

?

如此,所有的 $("***")都可以使用 suggest方法.

?

this , 就把jquery对象自身作为参数传递到? 方法 suggest(this, options) 中 .

?

options 参数是一个JSON对象, 其中 onSelect 是一个 function 函数, 使用了 .apply 方法来调用这个参数函数.

?

?

suggest(){

?????? options.onSelect.apply(options.cityList[$input[0].value]);

}

?

onSelect函数如下 :

?

onSelect:fn

?

function(){
????? if(query.cityName != this[1]){
??????? query.cityId = this[6];
??????? query.isUpCity = true;
????? }else{
??????? query.isUpCity = false;
????? }
??? }

?

该函数中, 可以使用this来使用传入的参数 :? options.cityList[$input[0].value]? 是一个数组对象 .

?

这样的好处是, 可以把函数内部处理的结果直接拿到页面来处理.

?

?

?

?

?

?

?

?

?

?

热点排行