首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >触发JavaScript锚函数(无需用户点击)

触发JavaScript锚函数(无需用户点击)
EN

Stack Overflow用户
提问于 2012-12-13 20:51:46
回答 2查看 184关注 0票数 0

我有一个页面,用户可以看到这个锚...

代码语言:javascript
运行
复制
<a href="javascript:launchSomething("1", "2", "1")">Test</a>

是否可以在不需要用户单击的情况下执行/调用launchSomething(.....)函数?如果参数是固定值,那么我可以这样做:

代码语言:javascript
运行
复制
//on document.ready() {
//  launchSomething( .... );  
//}

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

谢谢你的帮助。

更新

我刚刚将标记更改为

代码语言:javascript
运行
复制
<a class="click1" href="javascript:launchSomething('1', '2', '1')">Test</a>

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-13 20:55:54

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

代码语言:javascript
运行
复制
foreach ($rows as $row) {
    echo '<a class="mylink" data-id=\''.$row['id'].'\'>Test </a>'; 
}

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

代码语言:javascript
运行
复制
$('.mylink').click(function(){
    launchSomething($(this).data('id'));
});

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

代码语言:javascript
运行
复制
$('.mylink[data-id="someID"]').click();
票数 0
EN

Stack Overflow用户

发布于 2012-12-13 20:53:44

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

代码语言:javascript
运行
复制
eval($('a[href^="javascript:launchSomething("]').attr('href').slice(11));

Demonstration (open the console)

备注:

  • 你会看到我修复了你的超文本标记语言
  • 中缺少引号转义的问题。我的第一个想法,基于jQuery触发器函数,不起作用,因为它只适用于由jQuery添加的回调。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13860244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档