JS一部分基础复习

断了今生、忘了曾经 提交于 2020-02-07 00:53:47

主要事件:用于表单

6个事件(onfocus:聚焦,onblur:失焦,onclick: 点击, onchange:内容改变后触发, onload:加载, onsubmit:提交)

HTML事件处理方式:

JS事件处理方式:

容易出错的地方:

1.表单中一般不建议用button来写

2.一般表单校验的事件,都会用form的onsubmit事件配套提交按钮(type="submit")

3.type="submit"的时候,不能画蛇添足加onclick事件

bom:浏览器对象模型(browser object model)提供了浏览器窗口进行交互的对象(主要作用在于管理窗口和窗口的通讯)

2.bom由一系列的对象构成,这些对象有属性也有方法

     1.window对象:窗口对象

     (1). window.alert();

     (2).window.prompt();

//提示框

    var like = window.prompt("请输入你的爱好!", "吃瓜");

     if (like != null && like != "") {

       console.log("我的爱好是" + like);

    }

      (3).window.confim();

 var flag = window.confirm("请问你喜欢我吗?");
    var msg = document.getElementById("msg");
    if (flag == true) {
        msg.style.color = "red";
        msg.style.fontSize = "22px";
        msg.innerText = "真的吗,你确定";
        //动态的增加按钮
        msg.innerHTML = "<input type='button' value='出现' >";
    } else {
        msg.style.color = "green";
        msg.style.fontSize = "22px";
        msg.innerText = "是不是按错了";
    }

      (4).window.setInterval(); 定时器

 <input type="button" value="定时器" οnclick="mytimer()"><br>
    <input type="button" value="停止定时器" οnclick="stoptimer()"><br>
  var time;
    function mytimer() {
        time = window.setInterval("myclock()", 1000);
    }

    function stoptimer() {
        window.clearInterval(time);
    }

    function myclock() {
        var date = new Date();
        var t = date.toLocaleTimeString();
        var msg = document.getElementById("msg");
        msg.innerText = t;
    }

     2.window对象的子对象:history对象:(使用的几率小,代表浏览器的浏览历史),浏览器的前进和后退 

 <input type="button" value="gotoback" οnclick="gotoback()"><br>
    <input type="button" value="goforward" οnclick="goforward()"><br>
 function gotoback() {
        window.history.back();
    }

    function goforward() {
        window.history.forward();
    }

     3.Navigator对象:访问者的浏览器详情对象,(使用的几率小,用户判断浏览器的信息)

  <input type="button" value="navigator" οnclick="shownavigator()">
 function shownavigator() {
        console.log("浏览器的名字是" + navigator.appName);
        console.log("浏览器的代码名是" + navigator.appCodeName);
        console.log("浏览器的版本是" + navigator.appVersion);
    }

     4.window.open:使用的几率小 ( open用得少,用div+css代替 )

(1) innerText:一般用于动态改变文本,例如:表单下方的文字提示

(2)改变元素的样式:元素 .style.具体的样式名字=样式值

(3)innerHTML:一般用于改变span,div等元素的内容

focus事件的用法

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <form action="http://wwww.baidu.com" οnsubmit="return checkForm()">
        用户名: <input type="text" name="username" id="username"><br> 所在城市:
        <select id="select">
          <option value="0">泉州</option>
          <option value="1">福州</option>
          <option value="2">漳州</option>
          <option value="3">三明</option>
          <option value="4">龙岩</option>
          <option value="5">莆田</option>
        </select>
        <br> 密码: <input type="password" name="password" id="password"><br>
        <input type="submit" value="提交" />
        <input type="reset" value="重置" />
    </form>
</body>

</html>
<script>
    function checkForm() {

        var username = document.getElementById("username");
        var password = document.getElementById("password");
        var select = document.getElementById("select");
        if (username.value == "") {
            window.alert("用户名不得为空");
            //聚焦,当有错的时候,光标会回到当前文本输入框
            username.focus();
            return false;
        }

        if (password.value == "") {
            window.alert("密码不得为空");
            password.focus();
            return false;
        }

        return true;
    }
</script>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!