我真的很难为什么我无法获得此触发器或点击工作?
这是JS:
$(document).ready(function () {
function libertyPop(){
var popUp = jQuery("#lightbox-30835684809970");
popUp.click();
popUp.trigger('click');
console.log("should work");
}
libertyPop();
});
这应该触发点击此锚点:
<a id="lightbox-30835684809970" style="cursor:pointer;color:blue;text-decoration:underline;">
Liberty Pop-Up
</a>
在页面中,当我实际点击链接时,会出现弹出窗口,我不明白为什么jquery'trigger'或'click'没有做同样的事情?
答案 0 :(得分:3)
如果要触发锚标记的本机点击事件,请使用js event:
var popUp = jQuery("#lightbox-30835684809970")[0]; //<< [0] will retruns the DOM node
popUp.click();
但是由于你没有设置属性href,这将什么都不做!
如果你想触发使用jQuery附加的点击处理程序,首先设置一个。
使用您的代码:
$(document).ready(function () {
function libertyPop(){
var popUp = jQuery("#lightbox-30835684809970");
popUp.on('click',function(){
console.log("WORKS!");
}).click();
}
libertyPop();
});
答案 1 :(得分:2)
在触发事件之前,您实际上并未添加事件处理程序。它无关......
试试这个:
$(document).ready(function(){
$("#lightbox-30835684809970").click(function(){
console.log('clicked');
});
$("#lightbox-30835684809970").trigger('click');
});
这是jsFiddle