//通过事件驱动修改外部引用的CSS文件中的样式

 //change_css.css

@CHARSET "UTF-8";
.div1{
    width: 600px;
    height: 500px;
    background-color: pink;
}

body{
    width: 600px;
    height: 500px;
    margin: 0 auto;
}

//change_css.html

<!DOCTYPE html>
<html>
  <head>
    <title>change_css.html</title>
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <link rel="stylesheet" type="text/css" href="../css/change_css.css" />
      <script>
          function change(obj){
              //1.获取css中所有选择器,0表示获取第一个css文件
              //因为css文件可能引入多个,顺序是按照链接css文件的顺序来的
              //注意不同浏览器变量名不同(IE使用rules,Mozilla和Safasi使用cssRules)
              var all_css = document.styleSheets[0].cssRules;
              //2.0表示获取第一个选择器
              var s = all_css[0];
              //3.改变样式
              if(obj.value == "黑色")
                  s.style.backgroundColor = "black";
              else
                  s.style.backgroundColor = "red";
          }
      </script>
  </head>
  
  <body>
    <div id="d1" class="div1">
        <input type="button" value="红色"  style="margin-top: 250px; margin-left: 220px" onclick="change(this)"/>
        <input type="button" value="黑色"  style="margin-top: 250px; margin-left: 0px" onclick="change(this)"/>
    </div>
  </body>
</html>

 

//区分浏览器种类的代码

<script>
          function kind(){
              if(window.XMLhttpRequest){
                  if(!window.ActiveXObject)
                      alert("Mozilla, Safari");
                  else
                      alert("IE");
                  }
              else
                  alert("IE6");
          }
</script>

 

 

//并不是所有的html元素都有相同的event事件(对象), 比如提交按钮有onsubmit, 文本输入框就没有

例: 打开页面的时候弹窗提示, 选中文本框的时候弹窗提示并改变文本框颜色

<!DOCTYPE html>
<html>
  <head>
    <title>JS.html</title>
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
  
    <script>
        //创建页面弹窗,onload事件
        function is_load(){
            alert("Page Created!");
        }
        //选中文本框弹窗并改变文本框颜色,onfocus事件
        function is_choose(){
             alert("Text Choosed!");
             document.getElementById("t1").style.backgroundColor = "white";
        }
        //关闭浏览器弹窗,onbeforeunload事件,但是Chrome不支持
        function is_close(){
             alert("Page Will be Closed!");
        }
    </script>
  </head>
  
  <body onload="is_load()" onbeforeunload="is_close()" style="width: 600px; height: 500px; margin: 0 auto">
    <div id="d1" style="width: 600px; height: 500px; background-color: pink">
        <input type="button" value="红色"  style="margin-top: 210px; margin-left: 150px" onclick="kind()"/>
        <input id="t1" type="text" style="margin-top: 210px; margin-left: 0px; background-color: yellow" onfocus="is_choose()"/>
    </div>
  </body>
</html>

 

//关于窗口主要有三个事件:

onload, 创建窗口; onbeforeunload, 关闭窗口前一刻; onunload, 关闭窗口之后.

 

//防止用户通过右键拷贝网页内容

1. 直接在body内加一个oncontextmenu="return false", 点右键都不出右键菜单

<body oncontextmenu="return false" style="width: 600px; height: 500px; margin: 0 auto">

2. 也可以给oncontextmenu时间加上一个函数, 一点击右键就会弹窗警告, oncontextmenu事件必须带上return不然菜单还是会出来

    <script>
        function nomenu(){
            alert("版权所有,请勿复制");
            return false;
        }
    </script>
  
  <body oncontextmenu="return nomenu()" style="width: 600px; height: 500px; margin: 0 auto">

3. 以上两种方法不能防止用户把数据拉蓝然后用Ctrl + C拷贝, onselectstart事件可以控制不允许选中数据,

    方法同上return false也可再加弹窗警告

<script>
        function noslt(){
            alert("不允许选中!");
            return false;
        }
    </script>
  
  <body onselectstart="return noslt()" style="width: 600px; height: 500px; margin: 0 auto">

 

//关于鼠标的几个事件

onmousedown, 按下或点击

onmouseup, 松开点击

onmousemove, 移动鼠标

onmouseover, 悬停

onmouseout, 移走