10
4

4 回答 4

27
于 2011-04-05T09:41:09.237 回答
2
<div id="feature" onclick="location.href='index.php';">
   <a href="anotherpage.php">link</a>
</div>

就这么简单!

于 2015-09-04T09:27:29.587 回答
1
$(document).ready(function() {
    $('div#feature').click(function() {
        alert('div');
    });
    $('div#feature a').click(function(evt) {
        evt.stopPropagation();
    });
});

function topicchange(targ) {
    alert('link');
    return false;
}

这是允许的吗?直接从 href 调用主题更改函数,但阻止传播 click 事件。或者,一切都发生在topicchange中?

于 2011-04-05T11:18:38.417 回答
1

根据http://api.jquery.com/bind/, event.stopPropagation 应该允许目标上的其他事件处理程序被执行。您仍然可以从 Href 执行,但您也可以通过忽略默认单击冒泡到 div 来处理它。

完整演示:http: //jsfiddle.net/leomwa/qrFQM/

片段:

function topicChange()
{
    alert('Message from Link: After the div mouse event, I can execute');
    return false;
}

$('div#feature').click(function(evnt)
{
    var $originatingTarget = $(evnt.target);
    if ($originatingTarget && $originatingTarget.is('.insideLink'))
    {
        alert('Message from Div: Ahh! You clicked on Link...');
        evnt.stopPropagation(); // Allows other handlers on the event.target to be executed.
    }
});

与@shanethehat 非常相似。

感谢@shanethehat 要求澄清。

于 2011-04-05T11:22:40.027 回答