페이스 북 앱을 개발 중이며 jQuery를 코드에 추가 한 이후로 이상한 동작이 발생했습니다.jquery 버튼이 2 개의 권한 대화 상자를 엽니 다.
이 잘 작동 내 원래의 코드는 다음과 같습니다
button.onclick = function() {
FB.login(function(response) {
if(response.authResponse) {
FB.api('/me', function(info) {
login(response, info);
});
}
else {
}
}, {scope:'publish_stream'});
}
그럼 내가 jQuery를 추가하는 대신 클릭 이벤트를 사용 : 내가 버튼을 클릭하면
$("#button").click(function() {
FB.login(function(response) {
if(response.authResponse) {
FB.api('/me', function(info) {
login(response, info);
});
}
else {
}
}, {scope:'publish_stream'});
});
그리고 지금이 권한 대화 상자가 열립니다. 왜 이런거야?
감각 this'가 변경'의 맥락 것이다 만들 것이다 유일한 것은 - JQuery와 콜백'this' 이제 요소'#의 button'입니다 내부를, 반면에 이전 그것은 다른 대상이었습니다. – Tejs
첫 번째 코드를 삭제 했습니까? 페이지에 id #button이있는 요소가 하나만 있다고 확신합니까? – reporter
아마 당신은 당신의 코드 어딘가에 명시 적으로 click 이벤트를 호출하고있다. – mjs