MySql count 去掉重复

没有评论

2011 年 02 月 15 日 at 下午 5:36分类:MySQL | WEB开发

1.

select count(distinct CName) from Course

2.

select count(CName) from (select distinct CName from Course) as temp

as可有可无。temp作为别名,若无则提示错误:1248 – Every derived table must have its own alias

JQuery拖动插件 $(‘…’).Drag()源码

没有评论

2011 年 02 月 15 日 at 下午 2:20分类:JavaScript | jQuery | WEB开发

http://www.aspxhome.com/download/javascript/20107/1429515.htm

功能配置参数:

  1. MouseDown、MouseMove、MouseUp:鼠标点下、拖动中、放开后的二次开发接口;格式如function(e){/*this*/},其中this等于拖动的目标对象。

  2. MoveObj:指定要拖动的目标JQuery对象,默认为触发鼠标点下事件的元素。该配置参数可用来实现模拟窗体中点标题栏拖动整个窗口对象的实例。

  3. OffMod:虚线框开关默认为false(也就是默认启用拖动虚线框防开鼠标后再对目标元素重新定位)。

  4. MoveInYMoveInX:是否将拖动对象锁定在Y轴或X轴上[true|false] 默认false,适用滑块调节功能,后面在实现DIV+CSS模拟滚动条时有用到。

  5. BoxObj:拖拽元素的容器对象,若指定则只能在该对象元素的占位范围内移动;仅当指定该属性时候第一组属性中的三个开发接口中可直接用this.InBox或this.OverBox来判断拖动目标是否在BoxObj内或是否已经触碰到了BoxObj

  6. BindInBox:绑定到容器中,默认为true;指定了属性BoxObj只是为了使用this.InBox或this.OverBox,而并不想将拖动目标元素的移动区域限制在BoxObj内部,那么将该属性设置为false就可以了。

jQuery处理键盘事件

没有评论

2011 年 02 月 15 日 at 上午 11:18分类:JavaScript | jQuery | WEB开发

这是一个jQ插件,用它基本上就可以实现类似于本地应用程序那样的快捷键系统。这个插件的名字叫js-hotkeys,名字很普通,但是功能却非常强大。这个插件可以做到全键盘的事件处理,包括F1-F12、Del/Home/PageUp、Tab等特殊键,以及Alt、Shift、Ctrl、Space等组合键,例如Ctrl+Shift+F1等等,而且支持Windows平台下的所有浏览器。
该jQ插件是基于另一个更强大的JS类库,具体可以参见这篇文章:Handling Keyboard Shortcuts in JavaScript。
该插件的调用方法非常简单,可以参考Google Code上的官方说明:点击这里。
也可以看小狮的翻译和总结,如下。
使用bind和unbind进行事件绑定,语法:
//绑定事件触发器
$(expression).bind(types,options, func);
//解除事件触发器
$(expression).unbind(types,options, func);
//绑定事件触发器$(expression).bind(types,options, func);//解除事件触发器$(expression).unbind(types,options, func);
expression:这个没啥好说的,指的是DOM对象。
types:触发器的类型(也就是在何时触发事件),目前支持keydown、keyup和keypress三种。
options:触发器参数。有两个,一个是combi,另一个是disableinInput。前者是指定要绑定的组合键,值是按键的Shortcode,后者是一个布尔值,表示是否屏蔽combi指定的按键,前提是expression必须是一个input或textarea对象,默认值是false。
func:当options中指定的combi触发时调用的函数。
例子:
view plaincopy to clipboardprint?
//在当前页面绑定Ctrl+a的快捷键,触发执行fn1()函数
$(document).bind(‘keydown’, ‘Ctrl+a’, fn1());
//在input.foo中输入的 ‘$’ 字符将自动替换为 ‘?’
$(‘input.foo’).bind(‘keyup’, ‘$’, function(){
this.value = this.value.replace(‘$’, ‘?’);
});
//在div.foo中按下Ctrl+a将不会再执行fn2()函数
$(‘div.foo’).unbind(‘keydown’, ‘Ctrl+a’, fn2());
//在当前页面的input和textarea中将无法输入’a'字符
$(document).bind(‘keydown’, {combi:’a', disableInInput: true}, fn3());
//在当前页面绑定Ctrl+a的快捷键,触发执行fn1()函数$(document).bind(‘keydown’, ‘Ctrl+a’, fn1());//在input.foo中输入的 ‘$’ 字符将自动替换为 ‘?’$(‘input.foo’).bind(‘keyup’, ‘$’, function(){this.value = this.value.replace(‘$’, ‘?’);});//在div.foo中按下Ctrl+a将不会再执行fn2()函数$(‘div.foo’).unbind(‘keydown’, ‘Ctrl+a’, fn2());//在当前页面的input和textarea中将无法输入’a'字符$(document).bind(‘keydown’, {combi:’a', disableInInput: true}, fn3());
不过小狮在测试disableInInput这个参数的时候总是不成功,不知道为什么。哪位知道的高手麻烦指教一下!小狮用的是Chrom测试的。
另外要注意组合键的Shortcode书写顺序是按照字母表顺序的,并且不区分大小写。