要制作可点击的div,我要做的是:
<div class="clickable" url="http://google.com">
blah blah
</div>
接着
$("div.clickable").click(
function()
{
window.location = $(this).attr("url");
});
我不知道这是否是最好的方法,但是除了一个问题外,它对我来说效果很好:
如果div包含可点击的元素,例如
,并且用户单击超链接,将同时调用超链接和div's-clickable
当 anchor 标记引用的是javascript AJAX函数时,这尤其是一个问题,该函数执行AJAX函数并遵循div的'url'属性中的链接。
反正这吗?
最佳答案
如果从函数返回“false”,它将停止事件冒泡,因此只有第一个事件处理程序将被触发(即, anchor 将看不到单击)。
$("div.clickable").click(
function()
{
window.location = $(this).attr("url");
return false;
});
有关返回false和preventDefault的详细信息,请参见event.preventDefault() vs. return false。