您的位置:

首页 >

网络编程 >

toggle()隐藏问题的解决方法 >

toggle()隐藏问题的解决方法

2016-05-07 14:39:42

分类:网络编程

最近编写一个实例的时候使用到toggle函数,但是调用的时候会把元素隐藏掉,之前使用过也只是多个事件轮流切换罢了。百思不得其解于是就在网上搜索查看jQuery API文档。终于发现了原因: 原来在jQuery 1.9版本之后,toggle()发生了变化,以下是官网的Notes: Note: This method signature was deprecated in jQuery 1.8 and removed in jQuery 1.9. jQuery also provides an animation methodnamed .toggle() that toggles the visibility of elements. Whether the animation or the event method is fired depends on the set of argumentspassed. 在早期的版本,存在两个同名的toggle(),但是所执行的方法却是不一样的: .toggle( handler(eventObject), handler(eventObject) [, handler(eventObject) ] ) Description: Bind two or more handlers to the matched elements, to be executed on alternate clicks. ===================================================== .toggle( [duration ] [, complete ] ) Description: Display or hide the matched elements. 而之后的版本把第一个toggle()函数给去掉了,导致用于调用切换功能时会把元素隐藏了。 ======================== 既然去掉了这个函数,但是实现需求还是要的。怎么来实现多个事件的轮流切换了? 可以通过click事件判断不同的情况来触发,或者通过设置一个变量计数点击次数来执行不同的函数。 复制代码 代码如下:

使用 Ext.form.FormPanel 来处理数据时候,某些字段是需要只读的。当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是 Ext.form.DisplayField 没有一个format的属性,也不具备 renderer 这个事件,比如日期字段var form = new Ext.form.FormPanel({frame: true,renderTo: 'form-div',items: [{       xtype: 'displayfield',        fieldLabel: 'Date',        value: new Date()     }]});那它显示的就有点不正确了 那么我们可以重写一下 Ext.form.DisplayField,让他支持 format 属性Ext.override(Ext.form.DisplayField, { getValue: function () { return this.value; }, setValue: function (v) { this.value = v; this.setRawValue(this.formatValue(v)); return this; }, formatValue: function (v) { if (this.dateFormat && Ext.isDate(v)) { return v.dateFormat(this.dateFormat); } if (this.numberFormat && typeof v == 'number') { return Ext.util.Format.number(v, this.numberFormat); } return v; }});我们给 Ext.form.DisplayField 加了两个属性: dateFormat 和 numberFormat,然后我们将上面的 FormPanel 改一下var form = new Ext.form.FormPanel({    frame: true,     renderTo: 'form-div',     items: [{      xtype: 'displayfield',       fieldLabel: 'Date',       value: new Date(),       dateFormat: 'm/d Y'     }]});应该还是比较 perfect 的,

作为水货,就是学会了1+1=3也要记录一下!错了,是2学习记录:js中的for(var i=1;i<5;i++){if(i==3){break; // 使用break,弹出2次提示分别为1,2;如果使用continue,则会弹出3次,分别是1,2,4}alert(i);}循环,退出循环,使用break;退出当前循环继续下一个循环,使用continuejquery中的each()方法中要实现break,使用return false;continue,

复制代码 代码如下: function ReportFileStatus(filespec) { var fso, s = filespec; fso = new ActiveXObject("Scripting.FileSystemObject"); if (fso.FileExists(filespec)) s += " exists."; else s += " doesn't exist."; return(s); } 采用客户端的 FileSystemObject 对象 例: 复制代码 代码如下: function check() { var fso; fso = new ActiveXObject("Scripting.FileSystemObject"); if( fso.FileExists("c:

比如地址:http://www.jb51.net/i?tn=list&word=liulan 复制代码 代码如下:$(document).ready(function () {var url = window.location.search;if (url.indexOf("?") != -1) {var str = url.substr(1)strs = str.split("&");for (i = 0; i < strs.length; i++) {alert(strs.length);alert(strs[i].split("=")[0]);alert(strs[i].split("=")[1]);alert(strs[i].split("=")[0], '=',strs[i].split("=")[1], '<br>');}}})比如上面的地址,strs.length的长度是:2,strs[0].split("=")[0]的值是:tn;strs[0].split("=")[1]的值是:list;strs[1].split("=")[0]的值是:word;strs[1].split("=")[1]的值是:

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 5060网址大全 网站地图

联系我们

827570882

扫描二维码分享到微信