먼저 코드 업로드 :
코드 사본은 다음과 같습니다.
<헤드>
<제목> </title>
<script src = "scripts/jquery-1.4.1.js"type = "text/javaScript"> </script>
<script type = "text/javaScript"언어 = "javaScript">
$ (function () {
$ ( "div"). bind ( "click.a", function () {// 이벤트를 클릭하십시오
$ ( "body"). Append ( "<p> 이벤트 </p>");
})
$ ( "div"). bind ( "dblclick.a", function () {// 이벤트를 두 번 클릭하십시오
$ ( "body"). Append ( "<p> dblclick event </p>");
})
$ ( "div"). bind ( "mouseover.a", function () {// 요소를 통과하는 마우스의 이벤트
$ ( "body"). Append ( "<p> 마우스 오버 이벤트 </p>");
})
$ ( "div"). bind ( "mouseout.a", function () {// 마우스의 이벤트 요소 이동 요소
$ ( "body"). Append ( "<p> 마우스 아웃 이벤트 </p>");
})
})
</스크립트>
</head>
<body>
<div> jQuery 네임 스페이스 </div>
</body>
효과는 그림에 나와 있습니다. 또한 두 번 클릭 할 때 트리거하고 싶지 않다면
이벤트를 클릭하고 더블 클릭 이벤트를 트리거하면 문제를 해결하는 방법은 무엇입니까? 또한 두 번 클릭 할 때 클릭 이벤트를 풀려고했습니다.
그러나 이런 식으로 클릭 이벤트는 더 이상 유용하지 않습니다. . .
나중에, 나는 포럼에서 누군가에게 물었고 마침내 답을 얻었습니다. 이는 Settimeout () 메소드를 사용하여 클릭 이벤트의 시간 간격을 설정하는 것입니다
두 번 클릭의 시간 간격이 300ms 미만이므로 두 번 클릭하면 300ms로 설정되므로 클릭 이벤트는 생성되지 않지만 생성됩니다.
DBLCLICK 이벤트. 더블 클릭 이벤트에서는 클리어 타임 아웃 () 함수를 사용하여 클릭 이벤트 처리를 지우야합니다. 코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
<script type = "text/javaScript"언어 = "javaScript">
$ (function () {
var timer = null;
$ ( "div"). bind ( "click.a", function () {// 이벤트를 클릭하십시오
클리어 타임 아웃 (타이머);
timer = settimeout (function () {// 클릭 이벤트에서 settimeout () 함수 추가 클릭 이벤트에서 트리거 된 시간 간격을 설정합니다.
$ ( "body"). Append ( "<p> 이벤트 </p>");
}, 300);
})
$ ( "div"). bind ( "dblclick.a", function () {// 이벤트를 두 번 클릭하십시오
클리어 타임 아웃 (타이머); // 이중 클릭 이벤트에서 먼저 클릭 이벤트의 시간 처리를 지우십시오.
$ ( "body"). Append ( "<p> dblclick event </p>");
})
$ ( "div"). bind ( "mouseover.a", function () {// 요소를 통과하는 마우스의 이벤트
$ ( "body"). Append ( "<p> 마우스 오버 이벤트 </p>");
})
$ ( "div"). bind ( "mouseout.a", function () {// 마우스의 이벤트 요소 이동 요소
$ ( "body"). Append ( "<p> 마우스 아웃 이벤트 </p>");
})
})
</스크립트>
이런 식 으로이 문제가 해결 될 것입니다!