十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如题,比如我想在$(":text").bind("keyup",funcionName);将当前的文本框作为参数传递给
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了宁陵免费建站欢迎大家使用!
functionName所代表的函数,应该怎么写?试了一
下$(":text").bind("keyup",functionName(this));这样是不对的!
1.直接在funcionName
里用
this
就是
对
触发时间的元素本身的引用,如果你需要funcionName有更多参数的话,可以这样用:
2.$(":text").bind("keyup",function(){
funcionName(arg1,arg2,arg3,arg4);
});
3.有个event名称的参数可以传
$(:text").bind("keyup",
function(event)
{
event
=
event
||
window.event;
var
target
=
event.target;
//这个就是触发事件的控件
});
循环生成列表的时候为Button加属性就可以了
tdinput
class="button"
type="button"
value="按钮名称"
myvalue="%=name%"/td
不需要each就可以为每个class=button的按钮添加click事件的
$(".button").click(function(){
var
name
=
$(this).attr("myvalue");
alert(name);
});
本文实例讲述了jQuery支持动态参数将函数绑定到事件上的方法。分享给大家供大家参考。具体分析如下:
下面的js代码提供了两种方法用于绑定函数到事件,其中方法二可以传递动态参数,非常实用
//方法一
$('#foo').click(function(event)
{
alert('User
clicked
on
"foo."');
});
//方法二,
支持动态传参
$('#foo').bind('click',
{test1:"abc",
test2:"123"},
function(event)
{
alert('User
clicked
on
"foo."'
+
event.data.test1
+
event.data.test2);
});
希望本文所述对大家的jQuery程序设计有所帮助。
一、jQuery绑定事件的三种方法
我们这里首先复习一下jQuery绑定事件的三种方法:
target.click(function(){});
target.on("click",function(){});
target.bind("click",function(){});
target.live("click",function(){});
live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用JS等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。
二、传递参数
1.使用trigger触发事件来进行参数传递
$('p:first').bind('myclick',function(event,arg1,arg2){
$(arg1).appendTo('body');
console.log(arg2);
});
$('input').click(function(){
$('p:first').trigger('myclick',//这里触发了myclick事件
['diva href=""google/a/div','this is to console.log']); //第二个参数 string});
2.使用bind传递参数
var name_value='stonecold';
$('p').bind('click',{name:name_vlaue},function(event){
console.log(event.data.name);//结果在控制台上显示为stonecold});
3.在简单的事件中传递参数
A:首先定义一个函数,在点击的时候触发:
function fn_name(arg1){
$(arg1).appendTo('body');
}
B:定义一个变量作为参数传递
var arg='a href=""googlea';
$('img:first').click(function(){
fn_name(arg);
});
你用bind试试
把btn.on('click', function(){printName('ajaxName')});
替换为
btn.on('click', printName.bind(btn,'ajaxName'));