boilerPalte.activityStream =
"<div class='socvid-aspect-ratio-container'>"+
"<div onclick='com.ivb.module.home.pics.showDialogBox(\"{%=nodeId%}\",\"{%=classNameId%}\")'>"+
"<a href = {%=centerUrl%}>"+
"<img src='{%=imageUrl%}'>"+
"</a>"+
"</div>"+
"</div>";
我希望在单击div并同时使用a href时执行showDialogBox函数。在上面的代码中,onclick无效,只有href有效。
我希望发生一个ajax请求(大概实际上成功了),然后让浏览器继续前进并定位到anchor标签中指定的链接
最佳答案
这将为您工作:
com.ivb.module.home.pics.showDialogBox = function(nodeId, classNameId, obj) {
// something ...
var href = $(obj).find('a').data('href');
makeAjaxRequest().success(function() {
location.href = href;
});
};
HTML:
<div onclick='com.ivb.module.home.pics.showDialogBox(\"{%=nodeId%}\",\"{%=classNameId%}\", this)'>
<a data-href={%=centerUrl%}>
<img src='{%=imageUrl%}'>
</a>
</div>
使用
data-href
而不是href
,您无需阻止链接上的默认事件。如果要使用href
,请确保在此链接上为e.preventDefault
。