我注意到我的一个朋友正在使用它。
<a href="#" onclick="return Buy();">» <b class="font_bigger"><span id="buy_title">Buy</span> for <span class="points_in" id="buy_value">$1,691</span></b></a>
如果我使用它,我感觉没有改变。
<a href="#" onclick="Buy();">» <b class="font_bigger"><span id="buy_title">Buy</span> for <span class="points_in" id="buy_value">$1,691</span></b></a>
那么任何人都能解释两者的区别吗?
只是好奇地知道为什么他总是使用回归。
由于
答案 0 :(得分:8)
在第一个示例中,将从onclick
处理程序返回一个值。这可以用于return false
,这将阻止默认行为。
<a href="#" onclick="return Buy();">» <b class="font_bigger"><span id="buy_title">Buy</span> for <span class="points_in" id="buy_value">$1,691</span></b></a>
在第二个示例中,事件处理程序将简单地运行,事件将传播,并且无论事件处理程序返回任何值,都将执行默认行为。
<a href="#" onclick="Buy();">» <b class="font_bigger"><span id="buy_title">Buy</span> for <span class="points_in" id="buy_value">$1,691</span></b></a>
答案 1 :(得分:1)
这里涉及两个动作。
HREF
事件首先由浏览器执行。此行为称为 Early event handling
。如果事件操作返回false
,则会阻止默认操作,即HREF
。