JQuery:JQuery语法、选择器、事件处理

JQuery语法:
   通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions)。

一、语法:
jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
基础语法: $(selector).action()
  美元符号$定义 jQuery
  选择符(selector)"查询"和"查找" HTML 元素
  jQuery 的 action() 执行对元素的操作
实例:
  $(this).hide() - 隐藏当前元素
  $("p").hide() - 隐藏所有 <p> 元素
  $("p.test").hide() - 隐藏所有 class="test" 的 <p> 元素
  $("#test").hide() - 隐藏所有 id="test" 的元素

二、文档就绪事件:
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中,这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。如果在文档没有完全加载之前就运行函数,操作可能失败。

写法格式如下:

$(document).ready(function(){
// 开始写 jQuery 代码...
});

或者(简写的方式)

$(function(){
// 开始写 jQuery 代码...
});

注意:内部的JQuery代码其实即使事件的处理,如果执行多个事件处理,每一个方法用","隔开就是...

三、选择器:
3.1
jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。
jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。
jQuery 中所有选择器都以美元符号开头:$()。
3.2
最常见的就是元素选择器、#id选择器、.class选择器
元素选择器:在页面中选取所有 <p> 元素
  $("p")
#id选择器:选择"id=test"的元素
  $("#test")
.class选择器:选取"class=test"的元素
  $(".test")
更多实例如图所示:

3.3
独立文件中使用 jQuery 函数
如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。
当我们在教程中演示 jQuery 时,会将函数直接添加到 <head> 部分中。不过,把它们放到一个单独的文件中会更好,就像这 样(通过 src 属性来引用文件):

<head>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script src="my_jquery_functions.js"></script>
</head>

四、事件:
4.1
jQuery 是为事件处理特别设计的。
页面对不同访问者的响应叫做事件。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。
事件主要是:在元素上移动鼠标、选取单选按钮、点击元素
在事件中经常使用术语"触发"(或"激发")例如: "当您按下按键时触发 keypress 事件"。
常见 DOM 事件如图所示:

4.2
jQuery 事件方法语法:在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。
页面中指定一个点击事件:

$("p").click();

下一步是定义什么时间触发事件。您可以通过一个事件函数实现:

$("p").click(function(){
// 动作触发后执行的代码!!
});

4.3
常用的 jQuery 事件方法:$(document).ready()
$(document).ready() 方法允许我们在文档完全加载完后执行函数。该事件方法在 jQuery 语法 章节中已经提到过。
click() 方法是当按钮点击事件被触发时会调用一个函数。该函数在用户点击 HTML 元素时执行。
实例1:使用click()方法。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            //单击按钮会隐藏p元素
            $("#btn").click(function(){
                $("p").hide();
            });
        });
    </script>
</head>
<body>
    <p id="p1">如果按钮被单击,我就被隐藏了</p>
    <button id="btn">按钮</button>
</body>
</html>

实例2:当双击元素时,会发生 dblclick 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            // dblclick() 方法触发 dblclick 事件,或规定当发生 dblclick 事件时运行的函数
            // 双击时,p元素隐藏
            $("#btn").dblclick(function(){
                $("#p1").hide();
            });
        });
    </script>
</head>
<body>
    <p id="p1">如果按钮被单击,我就被隐藏了</p>
    <button id="btn">按钮</button>
</body>
</html>

实例3:当鼠标指针穿过元素时,会发生 mouseenter 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            //mouseenter() 方法触发 mouseenter 事件,或规定当发生 mouseenter 事件时运行的函数
            $("#p1").mouseenter(function(){
                    alert("you enter p1");
                 }
            );
        });
    </script>
</head>
<body>
    <p id="p1">JQuery框架的使用</p>
</body>
</html>

实例4:当鼠标指针离开元素时,会发生 mouseleave 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            ///mouseleave() 方法触发 mouseleave 事件,或规定当发生 mouseleave 事件时运行的函数
            $("#p1").mouseleave(function(){
                    alert("Bye! you leave p1 now");
                 }
            );
        });
    </script>
</head>
<body>
    <p id="p1">JQuery框架的使用</p>
</body>
</html>

实例5:当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            ///当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件
            $("#p1").mousedown(function(){
                    alert("Mosue down over p1");
                 }
            );
        });
    </script>
</head>
<body>
    <p id="p1">JQuery框架的使用</p>
</body>
</html>

实例6:当在元素上松开鼠标按钮时,会发生 mouseup 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            ///mouseup() 方法触发 mouseup 事件,或规定当发生 mouseup 事件时运行的函数
            $("#p1").mouseup(function(){
                    alert("Mosue up over p1");
                 }
            );
        });
    </script>
</head>
<body>
    <p id="p1">JQuery框架的使用</p>
</body>
</html>

实例7:hover()方法用于模拟光标悬停事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            //当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)
            $("#p1").hover(function(){
                    alert("you enter p1");
                 }, function(){
                     alert("Bye! you leave p1 now");
                }
            );
        });
    </script>
</head>
<body>
    <p id="p1">JQuery框架的使用</p>
</body>
</html>

实例8:当元素获得焦点时,发生 focus 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            //focus(),当通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点
            $("#input").focus(function(){
                $(this).css("background-color","red");
            });
        });
    </script>
</head>
<body>
    <input type="text" id="input">
</body>
</html>

实例9:当元素失去焦点时,发生 blur 事件。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>JQuery的使用!!!</title>

    <script src="jquery-3.1.0.js"></script>
    <script>
        $(document).ready(function () {

            //blur() 方法触发 blur 事件,或规定当发生 blur 事件时运行的函数
            $("#input").blur(function(){
                $(this).css("background-color","blue");
            });
        });
    </script>
</head>
<body>
    <input type="text" id="input">
</body>
</html>

 

posted @ 2016-09-18 16:47  XYQ全哥  阅读(804)  评论(0编辑  收藏  举报