首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onclick调用jQuery函数

问onclick调用jQuery函数
EN

Stack Overflow用户
提问于 2011-09-14 19:58:48
回答 2查看 11.8K关注 0票数 1

我有一个带有活跃填充元素的表单,类似于:

代码语言:javascript
复制
<input id="id1" type="button" name="some_name">
<input id="id2" type="button" name="another_name">

等。

我的选择在这里是有限的。

我不知道id,因为它是由系统动态分配的(参见id旁边的1,2 ),所以我不能通过#调用JQ函数。元素的顺序改变,它们显示在不同的集合中等。

类操作是不实用的。其他的attrib也是如此--一些属性被使用了,一些属性可能会被动态地使用,所以我不想搞乱它。

我可以(在表单生成期间)将js事件附加到特定的所需项目,例如onClick。

代码语言:javascript
复制
<input id="id1" onClick="myFunc()" type="button" name="some_name">
<input id="id2" type="button" name="another_name">

在标准JS中,我不需要知道id、类或任何东西,因为如果单击带有myFunc的元素,就会触发function。

有没有可能用JQ来完成类似的事情?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-14 20:03:09

既然你可以内联你的onlick事件,为什么不在那个时候添加一个类呢?

在您的输入中添加一个类将允许您使用jQuery轻松地连接到它。

代码语言:javascript
复制
<input class="myClass" [...] >

$('.myClass').click(function(){ [...] });

更新

为了直接回答您似乎在问的问题,不,jQuery没有使用HTML属性内联触发事件的独特方法。

但是,您在Javascript中创建的任何函数都可以内联触发。我不推荐这种方法,因为它已经过时了,并且违反了关注点的分离。

票数 3
EN

Stack Overflow用户

发布于 2011-09-14 20:03:15

我不明白为什么你不使用属性作为引用。你可以这样做:

代码语言:javascript
复制
$("input[type=button][name=some_name]")

或通用处理程序:

代码语言:javascript
复制
$("input[type=button]").click(genericEventHandler);
function genericEventHandler()
{
  var clickedButton = $(this);
  /* ... */
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7415948

复制
相关文章

相似问题

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