>  기사  >  웹 프론트엔드  >  effect_jquery를 사용하지 않는 jquery 바인딩 이벤트에 대한 솔루션

effect_jquery를 사용하지 않는 jquery 바인딩 이벤트에 대한 솔루션

WBOY
WBOY원래의
2016-05-16 17:00:351848검색

오늘 프론트 페이지를 개발할 때 jquery 바운드 클릭 이벤트가 적용되지 않는 것을 발견했습니다. 코드는 다음과 같습니다.
1.html:
2.html에서 참조하는 test.js의 메소드 함수:

코드 복사 코드는 다음과 같습니다.

$("#ceshisub").bind ("click", function(){
var a=1;
a =1;
alert("ceshisub");
})

문제는 "Click Event" 버튼을 해결하려고 할 때 페이지가 응답하지 않는다는 것입니다. js 디버깅 창을 열 때 var a=1; 줄의 중단점이 들어오지 않습니다.
해결 방법은 다음과 같습니다.
1. 위 js 함수에 로딩 이벤트를 추가합니다.
추가된 코드는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

$(function(){
$("#ceshisub").bind("click",function(){
var a=1;
a
alert("ceshisub");
})

바인딩 이벤트가 적용됩니다.
js에는 위에서 언급한 것 외에도 3가지 로딩 기능이 있습니다.

코드 복사 코드는 다음과 같습니다. :
$(function(){
alert("방법 1.");
})

다음 두 가지 방법도 있습니다. :

코드 복사 코드는 다음과 같습니다.
window.onload=function(){
alert("방법 2 . ");
}

$(document).ready(){
alert("방법 3.")
}); 🎜>

둘째, 바인딩 이벤트를 초기화하기 위해 js 로딩 함수를 사용하지 않는 경우 다른 방법이 있습니다:
js 문 참조

는 로드할 페이지 끝에 배치됩니다.

요약:
jquery는 요소 A에서 이벤트를 바인딩할 때 먼저 문서에서 요소 A를 검색합니다. 요소가 발견되지 않으면 바인딩이 실패합니다.
위의 첫 번째 해결 방법은 페이지 초기화 후 js 초기화 시 바인딩하는 것입니다
두 번째 방법은 바인딩하기 전에 모든 페이지 요소가 초기화되었는지 확인하는 것입니다. 이때 모든 요소는 초기화되었으며 확실히 가능합니다. 경계.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.