Javascript 在异步添加的链接上单击jQuery启动steam
我正在尝试使用其web协议启动steam客户端: 我正在使用jQuery。以下是一个例子:Javascript 在异步添加的链接上单击jQuery启动steam,javascript,jquery,steam-web-api,Javascript,Jquery,Steam Web Api,我正在尝试使用其web协议启动steam客户端: 我正在使用jQuery。以下是一个例子: $(function() { // a bunch of stuff happens $("#content").append('<a id="launcher" href="steam://connect/' + server.ip + ':' + server.port + '"></a>'); $("#launcher").click(); }
$(function() {
// a bunch of stuff happens
$("#content").append('<a id="launcher" href="steam://connect/' + server.ip + ':' + server.port + '"></a>');
$("#launcher").click();
});
$(函数(){
//发生了很多事情
$(“#内容”)。附加(“”);
$(“#启动器”)。单击();
});
现在我知道这行不通了。。。活动代表团?但本质上这就是我想做的。有什么想法吗?试试看
$(document).on("click", "#launcher", function () {
// code
});
您应该直接调用本机DOM的
单击
$("#launcher")[0].click();
或
您可以使用,它检索jQuery对象匹配的DOM元素,并直接调用本机DOM的单击
$("#launcher").get(0).click();
尝试使用.trigger()
:
您应该使用$(“#启动器”)[0]。单击()代码>这有点晦涩,但有道理。工作起来很有魅力。谢谢@约翰德克,什么是晦涩难懂的?我将尝试验证是不是jQuery的事件委托导致了$(“#launcher”)。click()不起作用?@Johandk,jQuery有自己的事件注册系统,它与DOM的事件注册是分开的。当我们调用$(something.click()
)时,所有注册的jQuery处理程序和注册的onclick
处理程序都将启动,但其他任何处理程序都不会启动。已经尝试过了。因为链接是动态添加的,所以无法工作。
$("#launcher").trigger('click');