0

我有一个页面,用户可以在其中看到此锚点...

<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”

4

2 回答 2

0

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

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

演示(打开控制台)

备注:

  • 你会看到我修复了 HTML 中缺少引号转义的问题
  • 我的第一个想法,基于 jQuery 触发函数,不起作用,因为它仅适用于 jQuery 添加的回调。
于 2012-12-13T12:53:43.957 回答
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();
于 2012-12-13T12:55:53.533 回答