當單擊div.artLink(參見下文)時,我調用了模態對話框。然而,當訪問者點擊一個錨點元素時,我想抑制模態對話。使用.data()方法將開關傳遞到函數
我試過使用.data()方法來傳遞一個錨被點擊到我的模態函數,但沒有成功的事實。 我對jQuery的知識有限,所以我很抱歉,如果這似乎是一個天真的問題...
任何人都可以推動我在正確的方向嗎?
<div class="artLink">
<img src="/assets/press/article03_thumb.jpg" alt="" />
<div class="article">
<img src="/assets/press/article03_main.jpg" alt="" />
</div>
<ul class="paLinks">
<li>MODAL DIALOGUE</li>
<li><a href="<url>" >EXTERNAL LINK</a></li>
</ul>
</div>
腳本是
// Detect if an anchor has been clicked...
$('ul.paLinks a').on('click', function() {
$(this).data('clicked', true);
});
// Load modal dialog on click
$('.artLink').click(function() {
// Only activate modal dialogue if an anchor has NOT been clicked...
if (!$(this).data('clicked')) {
$('.article',this).modal(...);
}
});
你的數據附加到錨元素本身,但你檢查的'父'artLink'元素data'對象。 – Boaz
事件冒泡是問題 –