jQuery 이벤트 큐 조정 method_jquery
May 16, 2016 pm 06:46 PM
jquery
jQuery를 통해 이벤트를 바인딩하는 것이 매우 쉽다는 것을 누구나 알고 있습니다
코드 복사 코드는 다음과 같습니다.
<TEXTAREA class=javascript name=code 행=15 cols=50>$("a").click(function(){
console.info("A");
return false;
});
</TEXTAREA>
하지만 A 이벤트가 바인딩된 후에는 B 이벤트가 트리거되는지 확인해야 합니다. 처리해야 하므로 이제 변경하겠습니다.
코드 복사 코드는 다음과 같습니다.
<TEXTAREA class=javascript name=code 행=15 cols=50>$("a").click(function(){
console.info("B");
false 반환;
}); a") .click(function(){
console.info("A");
return false;
});
</TEXTAREA>
이벤트 A를 트리거해야 하는지 여부를 결정하기 위해 이벤트 B를 비동기식으로 호출해야 하는 경우 어떻게 해야 합니까?
코드 복사 코드는 다음과 같습니다.
<TEXTAREA class=javascript name=code 행=15 cols=50>$("a").click(function(){
$.ajax({
url:"b.html",
성공:함수(msg){
if (msg){
console.info("pass"); return true;
}
})
}); ></TEXTAREA>
불가능하다는 것이 밝혀졌으니 어떻게 해야 할까요?
먼저 몇 가지 아이디어에 대해 이야기해 보겠습니다.
다른 방법을 통해 바인딩 후 이벤트를 트리거합니다. 예를 들어 A 이벤트는 클릭으로 바인딩되고 B 이벤트는 마우스 오버를 먼저 트리거한 다음 트리거됩니다. 이를 통해 클릭 이벤트를 차단합니다. (나중에 조사해보니 거의 불가능하다는 걸 알았습니다.)
jquery의 큐를 통해 두 이벤트를 처리합니다. (이것은 실제로 순차적 트리거 문제를 해결할 수 있지만 현실은 프로젝트의 모든 이벤트 바인딩이 작성되었다는 것입니다. 현재 각 버튼 이벤트는 판단된 AJAX 요청이 선행되어야 합니다. 그렇지 않으면 모든 버튼이 모든 이벤트를 다시 작성하거나, 또는 다른 방법을 찾으세요)
jQuery의 이벤트 메커니즘에 대해 자세히 알아보고 이벤트 큐를 얻고 이벤트 큐를 처리하세요.
코드 복사
$.ajax({
url:"b.html",
성공:함수(msg){
if (msg){
console.info("pass"); return true;
}
})
}); ></TEXTAREA>
불가능하다는 것이 밝혀졌으니 어떻게 해야 할까요?
먼저 몇 가지 아이디어에 대해 이야기해 보겠습니다.
다른 방법을 통해 바인딩 후 이벤트를 트리거합니다. 예를 들어 A 이벤트는 클릭으로 바인딩되고 B 이벤트는 마우스 오버를 먼저 트리거한 다음 트리거됩니다. 이를 통해 클릭 이벤트를 차단합니다. (나중에 조사해보니 거의 불가능하다는 걸 알았습니다.)
jquery의 큐를 통해 두 이벤트를 처리합니다. (이것은 실제로 순차적 트리거 문제를 해결할 수 있지만 현실은 프로젝트의 모든 이벤트 바인딩이 작성되었다는 것입니다. 현재 각 버튼 이벤트는 판단된 AJAX 요청이 선행되어야 합니다. 그렇지 않으면 모든 버튼이 모든 이벤트를 다시 작성하거나, 또는 다른 방법을 찾으세요)
jQuery의 이벤트 메커니즘에 대해 자세히 알아보고 이벤트 큐를 얻고 이벤트 큐를 처리하세요.
코드 복사
코드는 다음과 같습니다.
<TEXTAREA class=javascript name=coderows=15 cols=50>//먼저 기본적으로 이벤트를 바인딩하고 이벤트 A라고 부릅니다.
$("a").click( function(){
console.info(1);
return false;
})
//이제 B 이벤트가 먼저 트리거되도록 하고 A 이벤트 트리거 여부를 제어합니다.
//객체 a에 바인딩된 이벤트 객체에서 클릭 이벤트를 가져옵니다
var event = $("a").data("events").click
//이 a는 우리의 B 이벤트에서도 사용해야 합니다. this 개체가 변경되는 것을 방지하기 위해
var that = $("a")//다음과 같이 저장합니다. B 이벤트인데 Binding이 없는 것 같습니다
var B = function(){
$.ajax({
url:"b.html",
성공:function(msg) {
if(msg){
console.info("pass"); > 그것에 더 관심을
var tt;
//키코드에 주의해주세요
for(var i in event){
tt = event[i]
event[i] = B ;//이 줄을 주석 처리하는 경우 다음 두 줄의 주석 처리를 제거해야 합니다. 효과는 같지만 원리가 다릅니다...
//delete(event[i])
//that.click(B)
}
</TEXTAREA>
문제는 만족스럽게 해결된 것 같은데, AJAX 콜백 함수에서 리턴을 잡을 수 있을까요?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7287
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1342
46


라라벨 튜토리얼
1259
25


PHP 튜토리얼
1206
29



jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까?

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요.
