> 웹 프론트엔드 > JS 튜토리얼 > jQuery 이벤트란 무엇입니까? Jquery 이벤트 소개

jQuery 이벤트란 무엇입니까? Jquery 이벤트 소개

不言
풀어 주다: 2018-09-10 16:23:14
원래의
1223명이 탐색했습니다.

이 기사에서는 jQuery 이벤트가 무엇인지 설명합니다. jquery 이벤트 소개에는 참고할 만한 가치가 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

페이지 로딩

페이지가 로드된 후 실행 메커니즘으로 DOM에 로드 이벤트가 제공됩니다. jQuery는 비슷한 기능을 구현하기 위해 Ready() 메서드를 제공하지만 다음과 같은 차이점이 있습니다.
1. DOM의 로드 이벤트에는 단축 형식이 없지만 jQuery의 Ready() 메서드에서 단축 형식이 제공됩니다.
2. 로드 이벤트는 HTML 페이지가 로드된 후에만 트리거되며 DOM 노드 트리가 로드된 후에는 Ready() 메서드가 호출됩니다.
3. HTML 페이지에는 하나의 로드 이벤트만 존재할 수 있지만, 여러 개의 Ready() 메소드가 존재할 수 있습니다.
ready() 메소드의 문법 구조:

1.$(document).ready(function(){});
2.$().ready(function(){});//简写
3.$(function(){});//简写
로그인 후 복사

이벤트 바인딩

단일 이벤트 바인딩 및 단일 이벤트 바인딩 해제

단일 이벤트 바인딩

jQuery는 바인딩 이벤트를 완료하기 위해 바인딩() 메소드를 제공하며 구문은 다음과 같습니다.
$element.bind(type,data,callback);
type: 바인딩 이벤트의 이름을 나타내며 'on'이 없는 문자열 유형입니다.
data: element.data 속성 값으로 이벤트 개체에 전달되는 추가 데이터 개체(선택 사항)입니다.
콜백: 바인딩 이벤트의 처리 기능을 나타냅니다.
샘플 코드는 다음과 같습니다.

<body>
<button id=&#39;btn&#39;>按钮</button>
<script>
function click1(){
console .log('this  is button,');
}
$('#btn').bind('click',click1);
로그인 후 복사

단일 이벤트 바인딩 해제

jQuery는 이벤트 바인딩을 해제하는 unbind() 메서드를 제공합니다. 구체적인 방법은 다음과 같습니다.
$element.unbind(type[,data,callback]);

$('#btn').unbind('click');//只传递事件名称,解绑定该事件的所有处理函数。
$('#btn').undind('click'click1);//传递时间名称和指定的处理函数,解绑定该事件的指定处理函数。
로그인 후 복사

다중 이벤트 바인딩 및 바인딩 해제

<style>
        #title {
            width: 100px;
            height: 20px;
            border: 1px solid black;
        }
        ul {
            list-style: none;
            padding: 0;

            display: none;
        }
        li {
            width: 100px;
            height: 20px;
            border: 1px solid black;
        }

    </style>
</head>
<body>
<p id="title">菜单</p>
<ul>
    <li>北京</li>
    <li>南京</li>
    <li>天津</li>
</ul>
<script>
// mouseover表示鼠标悬停在指定元素之上 mouseout表示鼠标从指定元素上移开
 //jQuery支持链式操作,多事件绑定时,事件名称之间使用空格分离。
$('#title').bind('mouseover mouseout', function(){
        if ($('ul').is(':hidden')) {
            $('ul').css('display','block');
        } else {
            $('ul').css('display','none');
        }
    });
 
 /*
        unbind()方法
        1.没有指定任何事件时 - 将指定元素的所有事件全部解绑定
        2.指定一个事件名称时 - 将指定元素的指定当个事件解绑定
        3.指定多个事件名称时 - 将指定元素的指定多个事件解绑定
 */ 
 $('#title').unbind('mouseover mouseout');
로그인 후 복사

이벤트 바인딩 방법 비교

jQuery는 여러 세트의 이벤트 바인딩 및 바인딩 해제를 제공합니다. 메소드
1.bind() 및 unbind() - jQuery 3.0 버전 이후 삭제된 메소드
2.on() 및 off() 메소드 - jQuery 1.7 버전 이후 새로운 메소드
실제로, 바인딩() 및 unbind()는 기본 메소드는 on(), off()
3.live(), die() - jQuery 1.7 버전 이후 삭제된 메소드
기능 - 이벤트 위임 구현
4.delegate(), undelegate() - jQuery 1.6 버전 이후 새로 추가됨 메소드 , jQuery
버전 3.0 이후 삭제된 메소드
기능 - 이벤트 위임 구현
5.one() - 이벤트에 일회성 함수 바인딩

이벤트 전환

hover() 메소드

hover() 메소드는 다음에서 제공됩니다. jQuery 마우스오버 이벤트 효과를 시뮬레이션합니다.

$element.hover(over,out);
로그인 후 복사

샘플 코드는 다음과 같습니다.

   <style>
        #title {
            width: 100px;
            height: 20px;
            border: 1px solid black;
        }
        ul {
            list-style: none;
            padding: 0;

            display: none;
        }
        li {
            width: 100px;
            height: 20px;
            border: 1px solid black;
        }

    </style>
</head>
<body>
<p id="title">菜单</p>
<ul>
    <li>北京</li>
    <li>南京</li>
    <li>天津</li>
</ul>
<script>
 $(&#39;#title&#39;).hover(function(){
        $(&#39;ul&#39;).css(&#39;display&#39;,&#39;block&#39;);
    },function(){
        $(&#39;ul&#39;).css(&#39;display&#39;,&#39;none&#39;);
    });

</script>
</body>
로그인 후 복사

이벤트 시뮬레이션

jQuery는 분할 일치 요소에 바인딩된 이벤트를 시뮬레이션하는 Trigger() 메서드를 제공합니다
$element.trigger(type[,dat]);

<body>
<button id="btn">按钮</button>
<script>
    // 绑定事件 - 由用户行为进行触发,调用处理函数
    $(&#39;#btn&#39;).bind(&#39;click&#39;,function(){
        console.log(&#39;this is button.&#39;);
    });
    // 模拟用户触发事件
    $(&#39;#btn&#39;).trigger(&#39;click&#39;);

</script>
</body>
로그인 후 복사

관련 권장 사항:

이벤트 버블링이란 무엇입니까? jquery를 사용하여 이벤트 버블링을 방지하는 방법_jquery

javascript/jquery 키보드 이벤트 소개

위 내용은 jQuery 이벤트란 무엇입니까? Jquery 이벤트 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿