将两个参数传递给函数
Passing two parameters to a function
我尝试发送一个javascript函数2参数,如下所示:
var par1;
var par2;
$('#somediv').append('<div onclick="somefunction('+par1+','+par2+');"></div>');
我正在动态创建很多像这样的div,我只需要找到正确的方法将 par1 和 par2 传递给稍后的操作它们。
现在只有 par1 是可以的,par2 是未定义的(它们都有字符串值)。
有什么建议吗?
这是因为 par1 和 par2 在您的代码中未定义。
使用某个默认值初始化var1
和var2
。
做这样花哨的事情的正确方法是在jQuery中使用.live
、.delegate
或.on
。
var par1; // assuming these get values at some point
var par2; // assuming these get values at some point
$('#somediv').append('<div class='fancyDiv'></div>');
$('#somediv').on("click", ".fancyDiv", function() {
someFunction(par1, par2);
}))
// use delegate instead of on if you're in jQuery 1.6 or lower
$('#somediv').delegate(".fancyDiv", "click", function() {
someFunction(par1, par2);
}))
使用 jQuery onclick
var par1 = 'par1';
var par2 = 'par2';
$('<div>Click</div>').appendTo('#somediv').click(function(){
somefunction(par1, par2)
})
function somefunction(v1, v2){
alert(v1+" "+v2);
}
查看它的实际效果 http://jsfiddle.net/anuraguniyal/gjz72
但这取决于您从哪里获得 par1 和 par2,如果它们与div 相关并且您需要为每个div 使用不同的一个,您应该将它们作为数据属性添加到 html 中,例如
$('<div data-par1="par1" data-par2="par2" >Click</div>').appendTo('#somediv').click(somefunction)
function somefunction(){
alert($(this).attr('data-par1')+" "+$(this).attr('data-par2'));
}
查看它的实际效果 http://jsfiddle.net/anuraguniyal/gjz72/14/
perimeterBox
在这里是函数
var perimeterBox = function(length,width)
{
return length+length+width+width;
};
perimeterBox(5,5);
相关文章:
- 函数未将值作为参数传递
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 如何传递函数中的参数
- 将参数传递给函数
- 如何向onClick事件处理程序传递一个接受参数的函数,并且仍然将该函数绑定到组件's”;这个“;上下文
- 传递带有参数的函数
- javascript,将参数传递给函数内部的闭包中的回调
- 将字符串作为参数传递给函数onclick event jquery
- 将修改后的数组作为参数传递给函数
- 代码气味-将布尔控制参数传递给函数
- 将参数传递给函数,同时保留事件处理程序
- 如何使用按钮将参数传递给函数
- 作为参数传递时如何计算函数
- 将对象作为参数传递时的 Javascript 函数作用域
- 将回调作为参数传递给函数
- 在构造控制器、服务等时作为函数参数传递之前列出的角度 JS 变量
- 作为参数传递的函数的异步执行
- 将请求作为参数传递给函数
- 什么时候需要在javascript中的函数中将对象作为参数传递
- Javascript,对象,用参数传递函数作为参数- angular, jquery概念基本误区