[转]PHP基础知识及学习心得

1,花括号“{}”可以像“[]”操作数组一样操作字符串,来获得指定位置的字符。

2,PHP标签“<?php ?>”在独立PHP脚本内可以不写结束标签,这是为了避免意外的空格导致输出而报错。可以用注释来标明脚本结束。

3,echo是语法结构,不是函数。后面跟多个字符串时用逗号“,”效率更好。

4,数组中,1、’1’、true为索引的时候都会强制转换为1。而’01’不会进行转换,会按照字符串处理。

5,将一个类的代码写在不同PHP标签内是不合法的,会报语法错误。而函数则没问题。
继续阅读“[转]PHP基础知识及学习心得”

jquery ui autocomplete输入中文不自动完成的问题

因为输入法或浏览器的问题,在输入中文后并没有触发自动完成,要再按多一下键盘才触发,查看发现它是用keydown来实现
.bind(“keydown.autocomplete”, function(event) {
….
})
可以对其input事件进行监听来解决问题,在上面的代码后绑定一个input事件

.bind("input.autocomplete",function(event){
        if(suppressKeyPress){
                suppressKeyPress = false;
                event.preventDefault();
        }   
        clearTimeout(self.searching);   
        self.searching = setTimeout(function(){
                if(self.term != self.element.val()){
                        self.selectedItem = null;
                        self.search(null, event);
                }
        }, self.options.delay);
})

其内容参照 keydown的default处理

Min版修改

//找到
default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}})

//在这后加上
.bind("input.autocomplete",function(a){clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)})

//接上后面的
.bind("keypress.autocomplete",function(a){