2013-07-09 2 views
2

jQuery로 data-url을 변경하려고합니다. 현재 내 코드는 다음과 같습니다.twitter 링크의 속성 변경

<div id="twitterButton" title="Tweet it on Twitter"><a href="https://twitter.com/share" id="tweet" class="twitter-share-button" data-url="" data-related="jasoncosta" data-lang="en" data-size="large" data-count="none">Tweet</a></div> 

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#twitterButton').click(function() { 
     $('#tweet').attr("data-url", "https://www.google.com/"); 
    }); 
});</script> 

위와 같이 URL 데이터를 비워두면 jQuery에만 설정되어 있다는 것을 알 수 있습니다. 그러나 트윗 버튼을 클릭 할 때마다 항상 현재 페이지에 대한 링크가있는 윈도우가 열립니다. 누군가 jQuery 또는 javascript를 통해 다른 것으로 설정할 수있는 방법을 설명 할 수 있습니까?

+0

답변 중 하나가 문제를 해결 한 경우 '수락'으로 표시하는 것이 좋습니다 – Sharlike

답변

4

데이터 속성을 제어하려면 .data()을 사용해야합니다. Daniele이 그 대답을 언급하면서 preventDefault()을 사용하여 a 요소의 이벤트 전파를 중지해야합니다.

$('#twitterButton').click(function (e) { 
    $('#tweet').data('url',"https://www.google.com"); 
    e.preventDefault(); 
}); 
+1

어쨌든이 방법이 이벤트 전파에 대한 문제를 해결하지 못하는 경우 더 편리합니다. Daniele Montes 솔루션이 맞습니다! – Magico

+1

정말 도움이 되신 분들께 – joe

+0

@Magico 예, 맞습니다. 답변을 업데이트했습니다. 감사! – Sharlike

3

당신은 아이 요소 클릭 이벤트의 전파를 중지 방법 에서 preventDefault()를 호출해야합니다

$('#twitterButton').click(function (e) { 
    $('#tweet').attr("data-url", "https://www.google.com/"); 
    e.preventDefault(); 
}); 

좋은 코드 :

이 코드를 시도를

d

관련 문제