触发JavaScript锚点功能(无需用户点击它)

时间:2012-12-13 12:51:46

标签: javascript jquery

我有一个用户看到此锚点的页面...

<a href="javascript:launchSomething("1", "2", "1")">Test</a>

是否可以在没有用户点击的情况下执行/调用launchSomething(.....)功能?如果参数是固定值,那么我可以做一些像......

//on document.ready() {
//  launchSomething( .... );  
//}

但网页是动态生成的,这些参数也会发生变化,所以在网页加载后我需要做些什么才能自动触发?

感谢您的帮助。

更新

我刚将标记更改为

<a class="click1" href="javascript:launchSomething('1', '2', '1')">Test</a>

所以它总是有一个“click1”类

2 个答案:

答案 0 :(得分:0)

假设您对代码足够信任(您可能应该在生成代码时使用它),您可以使用:

eval($('a[href^="javascript:launchSomething("]').attr('href').slice(11));

Demonstration (open the console)

注意:

  • 你会看到我修复了HTML中引用转义的缺失
  • 我的第一个想法,基于jQuery触发器功能,不起作用,因为它只适用于jQuery添加的回调。

答案 1 :(得分:0)

您可以通过为链接动态生成属性来执行此操作:

foreach ($rows as $row) {
    echo '<a class="mylink" data-id=\''.$row['id'].'\'>Test </a>'; 
}

然后,您可以将其绑定为链接的点击处理程序:

$('.mylink').click(function(){
    launchSomething($(this).data('id'));
});

要调用特定链接的处理程序,您可以使用:

$('.mylink[data-id="someID"]').click();