如何实现 jquery绑定函数同时传参?

例如:
<body>
<input type="button" id="mybyn" onclick="aaa(this.id)"/>
</body>
<script type="text/javascript">
function aaa(myid)
{
alert(myid);
}
</script>

那么同样的写法 jquery呢???

这不叫传参。
因为<input type="button" id="mybyn" onclick="aaa(this.id)"/>的写法
等价于
document.getElementById("mybyn").onclick = function(){
aaa(this.id);
}
你可以看出来,实际上你并没有传参。真正调用的还是外层的匿名函数。

以此类推,当改为jquery的时候,也只不过是以下这样
$("#mybyn").click(function(){
aaa(this.id);
})
因此你现在的疑问不成立。两种写法是一致的。
内联的写法可以直接写在html标签里。
但是不利于内容展现分离。不推荐采用内联的写法。
所谓的绑定函数同时传参。如果你手动触发的话。
可以使用jquery的trigger方法
$("#mybyn").click(aaa)
$("#mybyn").trigger("click","mybyn");
倒是可以。
但这只是模拟点击的情况下。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-03-01
bind 方法为每个选择的元素事件绑定函数
语法格式:bind(type,[data],fn)
html: <input type="button" value="点击"/>

js: $(function(){
$(".btn_click").bind('click',{'id':'111','name':'wanzhongwen'},getdata) //绑定事件,并传参数

function getdata(d){
alert(d.data.id); //弹出111
}
});
第2个回答  2012-11-28
<body>
<input type="button" id="mybyn" myId="需要动态设置的值" onclick="aaa(this.id)"/>
</body>
<script type="text/javascript">
$(function() {

$("#mybyn").click(function() {
alert($(this).attr("myId")); <=================看这里

});

})

</script>
第3个回答  2012-11-28
$(function() {
$("#mybyn").click(function(e) {
alert($(this).attr("id"));
});
})
e表示事件
$(this)表示该控件自己

jQuery传参数
1.使用trigger触发事件来进行参数传递 ('p:first').bind('myclick',function(event,arg1,arg2){$(arg1).appendTo('body');console.log(arg2);});$('input').click(function(){$('p:first').trigger('myclick',\/\/这里触发了myclick事件['google','this is to console.log']); \/\/第...

jquery如何绑定一个已有的方法并传递参数
("button").bind("click",function(e){ \/\/这里通过对e的处理得到你的待传参数值 para = e.target.foo abc(para)})-- 可能我没理解你的意思 按钮是什么?是组件的一部分还是随便写在html里的?如果是一部分那么你可以用this指向组件对应的方法调用吧 如果不是的话,你也可以在匿名函数里先找到...

jquery 如何给函数传参数
循环生成列表的时候为Button加属性就可以了 <input class="button" type="button" value="按钮名称" myvalue="<%=name%>"\/> 不需要each就可以为每个class=button的按钮添加click事件的 (".button").click(function(){ var name = $(this).attr("myvalue");alert(name);});...

如何使用jquery获得某一个函数的参数
function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); \/\/构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); \/\/匹配目标参数 if (r != null) return unescape(r[2]); return null; \/\/返回参...

JQuery入门——用bind方法绑定事件处理函数应用介绍
1、bind()功能是为每个选择元素的事件绑定处理函数,其语法如下:bind(type,[data],fn)其中type为一个或多个类型的字符串,如click或change,也可以自定义;可以被type调用的类型包括blur、focus、load、resize、scroll、unload、click、dbclick、mousedown等事件。参数data是作为event.data属性值传递对象的...

jQuery中bind函数用法
如上面例子,可以传递多个参数。--- 问题2:('Test').appendTo('.inner');('.inner').append('Test');上面这个是append()和appendTo()区别,应该一目了然了吧?而appendChild()不是jquery的方法,而是javascript原生的方法。append和appendChild的关系是:其实几乎一样,append就是调用appendChild实现...

jquery ajax怎么传递参数,例如点击 这是JS的,用JS,要怎么写
(function(){ ("#txtEmail").bind("blur",function(){ var email = $.trim($("#txtEmail").val());\/\/ ajax验证邮箱——开始 .ajax({url:"validateEmail.action?email="+email,type:"get",dateType:"json",success:function(obj){ if(obj.rely){ alert("邮箱可用");}else{ alert...

jquery中的get方法传参
var url = '';\/\/ 你发送请求的地址 var param = { id: 1,name: 'xxx',参数名: 参数值 };.get(url, param, function(data) {\/\/ 回调函数 console.log(data);\/\/ 控制台打印返回结果 });

jquery 函数的参数为Datalist控件,如何传参数?
jquery中,所有的html标签都可以被包装为jQuery对象:var dtlist = $("datalist"); \/\/或者datalist 的class、id等属性 自定义函数的参数为jQuery对象,传递参数的时候直接使用 dtlist 就可以。

jquery trigger的用法
如 $("form:first").trigger("submit"),触发第一个表单的提交事件 "在实际应用中我们该如何让它在触发事件时同时处理事件",我不知道兄台是如何理解 "触发了事件" 这几个字的, 触发了事件,等同于程序即将执行这个事件,事情是一个方法体.下面是data传参的一个例子,摘抄的 ("p").click( function...

相似回答