通示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>
"唯有高屋建瓴,方可水到渠成"