我在悬停时有一个带有淡化叠加div的图像,在其中显示文本链接。
点击链接后会打开包含内容的影子框。我希望整个叠加div可以点击,所以我使用了:
$("div.overlay").each(function(){
$(this).click(function(){
$('a#overlink').trigger('click'); // id of shadowbox link
return false;
});
});
它在FF,Safari和amp; Chrome但IE显示“对象不支持此属性或方法”错误。
是否有其他方法可以使用此方法或其他方法?
答案 0 :(得分:2)
您使用的是哪个版本的ie? 我记得某些版本的IE不支持点击链接或按钮以外的对象:(
或许尝试使用mousedown事件作为解决方法
答案 1 :(得分:1)
我不推荐这种方法。为什么你不能调用处理你的主播(链接)点击事件的功能?或使用链接中的位置导航。这会更有意义。
答案 2 :(得分:0)
$("div.overlay").each(function(i,n){
$(n).click(function(e){
//do not need "a" in front of it as #overlink is unique anyways
$('#overlink').trigger('click'); // id of shadowbox link
return false;
});
});
尝试此操作并在触发器上方注明我的评论
答案 3 :(得分:0)
你试过了吗?
$('a#overlink').click();
答案 4 :(得分:0)
试试这个:
$("div.overlay").each(function(){
$(this).click(function(){
var $elm = $('a#overlink');
if (document.createEvent) {
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true );
$elm.get(0).dispatchEvent(e);
}
else {
$elm.trigger("click");
}
return false;
});
});