通示jQuery实例方法,未DOM对象添加多个方法

时间:2023-03-08 23:27:56
通示jQuery实例方法,未DOM对象添加多个方法
<script type="text/javascript">
/*
* 通示jQuery实例方法,未DOM对象添加多个方法
* 用按钮做多个事件的调用
*/
(function (a) {
//为jQuery对象添加方法multiSelect
a.multiSelect = function (b) {
if (!b.elementId) { //参数(对象)b.elementId不能为空,否则返回false
return false
}
b = a.extend({ //把传进来的参数与现有的定义合并,然后赋给b;后面的参数如果和前面的参数存在相同的名称,那么后面的会覆盖前面的参数值。
removeCallback: undefined,
clickCallback: undefined,
addCallback: undefined,
removeAllCallback: undefined
}, b);
var c = document.getElementById(b.elementId); //定义一个DOM对象,虽然不是ECMASript对象,但它同样是object
c.addOption = function (e, f) {
/*方法执行*/
b.addCallback(e, f); //方法执行完成后调用参数传进来的addCallback
};
c.isEmpty = function () {
/*方法执行*/
b.removeAllCallback(e, f); //方法执行完成后调用参数传进来的removeAllCallback
};
a(c).click(function () {
/*DOM click*/
if (typeof (b.clickCallback) == "function") {
b.clickCallback(……);
}
});
return c; //返回DOM对象,主要用于赋值给另一个变量
}
})(jQuery)
</script>
<script type="text/javascript">
$(document).ready(function () {
/*
* 为jQuery.multiSelect方法传递参数和接收返回的值(对象)
*/
var b = jQuery.multiSelect({
elementId: "multiple_select", //当前DOM
removeCallback: function (h) { //删除单条内容的时候调用的函数
},
removeAllCallback: function () { //删除所有内容的时候调用的函数
},
clickCallback: function (h) { //点击内容的时候调用的函数
},
addCallback: function () { //添加内容的时候调用的函数
}
})
/*
* 调用DOM方法
*/
$("#removeAll").click(function () { //删除所有内容按钮
b.removeAll(); //删除所有内容
});
$("#addItems").click(function () { //添加内容按钮
b.addOption(); //添加内容
});
});
</script>