LiveQuery- 확인 ()
-
06-07-2019 - |
문제
"아니오"를 누르 더라도이 확인 () 호출이 발생하는 이유는 모르겠습니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있나요?
$('.deleteButton').livequery('click',function(){
if(confirm('Are you sure?')){
return true;
}else
{
return false;
}
return false;
});
HTML 마크 업 :
<a class="smallbutton deleteButton" href="users.php?todo=delete&id=32">delete</a>
확인했고 False를 반환하지만 페이지는 여전히 클릭 한 href 값으로 리디렉션됩니다. 일반적으로 거짓을 반환하면 그렇지 않아야합니까?
해결책 3
사과드립니다 : 기본 콘텐츠 컨테이너 내부의 모든 앵커에 다른 동작을 부착하고있는 것으로 나타났습니다. DeleteButton에 대한 제외 조항을 추가했으며 지금은 잘 작동합니다.
다음은 최종 작업, 코드입니다.
var $tabs= $("#tabs").tabs({
fx: {
opacity: 'toggle'
},
load: function(event, ui) {
$('a', ui.panel).livequery('click',function() {
// we need to exclude the listNav buttons AND deleteButton buttons from this behavior
if($(this).parent().is(':not(".ln-letters")') && $(this).is(':not(".deleteButton")')){
$(ui.panel).load(this.href);
return false;
}
});
}
});
삭제 버튼 동작은 간단하게 작동합니다.
$('.deleteButton').live('click',function(e){
return confirm('Are you sure?');
});
다른 팁
<a id="myId_1" href="#" class="deleteButton">delete</a>
$('.deleteButton').livequery('click',function(e){
e.stopPropagation();
if(confirm('Are you sure?')){
functionForDelete($(this).attr("id").split("_")[1]);
}
});
// OR ir you like goto href
<a id="myId1" href="url/delete/id.php?1" class="deleteButton">delete</a>
$('.deleteButton').livequery('click',function(e){
e.stopPropagation();
if(confirm('Are you sure?')){
window.location=$(this).attr("href");
}
});
LiveQuery ()를 live ()로 변경하십시오. jQuery는 동일한 기능을 지원합니다. FF에서 방금 테스트했으며 Live ()와 함께 작동했지만 LiveQuery ()로 프롬프트를주지 못했습니다.
이 시도:
$('.deleteButton').livequery('click',function(e){
if (confirm('Are you sure?')) {
return true;
} else {
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
return false;
}
});
제휴하지 않습니다 StackOverflow