该功能原来是集成在combo扩展:禁止手工改变输入框的值这篇文章里面的,但是"禁用combo功能"和“点击文本框也能显示下拉面板功能”实在是分马牛不相及,为了语义明确,把这个功能剥离出来了。
实现代码:
- $.extend($.fn.combo.methods, {
- /**
- * 激活点击文本框也显示下拉面板的功能
- * @param {Object} jq
- */
- activeTextArrow : function(jq) {
- return jq.each(function() {
- var textbox = $(this).combo("textbox");
- var that = this;
- var panel = $(this).combo("panel");
- textbox.bind('click.mycombo', function() {
- if (panel.is(":visible")) {
- $(that).combo('hidePanel');
- } else {
- $("div.combo-panel").panel("close");
- $(that).combo('showPanel');
- }
- });
- });
- },
- /**
- * 取消点击文本框也显示下拉面板的功能
- * @param {Object} jq
- */
- inactiveTextArrow : function(jq) {
- return jq.each(function() {
- var textbox = $(this).combo("textbox");
- textbox.unbind('click.mycombo');
- });
- }
- });