高程笔记

1、creatTextNode兼容

    function fn(code){
        var script = document.createElement("script");
        script.type = "text/javascript";
        try{
            script.appendChild(document.createTextNode(code)); //IE9下不兼容
        }catch(ex){
            script.text = code ;
        };
        document.body.appendChild(script);
    };
    fn("alert(1)");

 

2、 <form name="form1" method="post" enctype="multipart/form- data" action="requestfile/asprece.aspx">//如果file框没有加runat="server",则 form里一定要加上 enctype="multipart/form-data"这样才可以实现上传文件到服务器;使用了server和没有使用 runat="server"是有区别的.使用了runat="server"的form编译后,action必定是指向本身的网页。而没有加runat="server"的form可以指向一个网页。

3、input只允许输入数字

        obj.keyup(function (event) {
            this.value=this.value.replace(/[^\d]/g ,'')           
        });

4、事件处理函数中,如果事件给父级,点击了它的子级,target指向的是被点击的子级(随冒泡而改变)  


 5、preventDefault() 阻止默认行为  stopPropagation() 阻止冒泡或捕获

6、H5中的事件

  contextmenu 自定义上下文菜单 (高程389页)

  beforeunload 弹出对话框询问用户是否真的要离开页面

EventUtil.addHandler( window, "beforeunload", function (event) {
  event = EventUtil.getEvent(event);
  var message = "我会想念你的";
  event.returnValue = message ;
  return message ;
})	

在我们写js code 的时候,我们有2中写法,一种是函数表达式,另外一种是函数声明方式。我们需要重点注意的是,只有函数声明形式才能被提升。 


函数声明方式提升【成功】
function myTest(){ foo(); function foo(){ alert("我来自 foo"); } } myTest();

函数表达式方式提升【失败】
function myTest(){
foo();
var foo =function foo(){
alert("我来自 foo");
}
}
myTest();

 

posted on 2016-06-23 18:21  鸢尾。  阅读(190)  评论(0)    收藏  举报

导航