불쌍한 제목에 대해 유감스럽게 생각합니다. 다른 모든 preventDefault 질문을 확인했지만 그들 중 누구도 내가 원하는 답변을 제공하지 않았습니다. 여기 preventDefault 및 add/removeClass가 작동하지 않음
내가 가진 무엇 (jQuery를)var swiss = $('#post-88 .bookings');
$("#post-88 .button-book").click(function(e) {
e.preventDefault();
swiss.addClass('show');
});
$("#post-88 .icon-close").click(function(e) {
e.preventDefault();
swiss.removeClass('show');
});
&되는 HTML :
<article id="post-88" class="bg col span-1-3" role="article">
<div class="feat-still overlap">
<img width="481" height="330" src="http://domain.com/imgs/img.jpg">
</div>
<div class="bookings overlay show">
<form>
<!-- form stuff here -->
<a class="icon-close" href="#">Cancel</a>
</form>
</div>
<a class="button-book" href="#" title="Make a reservation">Make a reservation</a>
</article>
클래스 show
이 .icon-close
클릭 할 때 그러나 페이지가 점프, .bookings
에 추가됩니다 .button-book
을 클릭 페이지 상단과 클래스가 제거되지 않습니다. 코드의이 부분은 제대로 작동하지 않습니다.
여기에 뭔가 빠졌습니까?
업데이트 :
나는 지금 문제를 일으키는 생각 내 코드의 부분을 떠났다. 다음과 같이 .bookings
에 내용이로드됩니다
var root = location.protocol + '//' + location.host;
var swiss = $('#post-88 .bookings');
swiss.load(root+'/wp-content/themes/PL14-Base/inc/bookings-swiss.php');
는하지만이가 닫기 버튼에 영향을 미칠 것이라고 생각하지 않았을 ...?
당신은'toggleClass' 대신'swiss.addClass ('show')'를 사용해 보셨나요? –
이전의 코멘트를 삭제했습니다. 오해의 결과였습니다. 나는 당신이 가지고있는 오류를 반복 할 수 없다. 코드를 jsfiddle에 넣으면 잘 동작한다. (http://jsfiddle.net/WVTxN/3/) 전체 페이지에 대한 코드를 게시 할 수 있습니까? –
와우. 그것은'addClass'를 읽었을 것입니다 - 원래 게시물 –