Javascript Onclick使用增加的参数值调用函数
我有一个jQuery函数,它接受一个参数(比如arg),它是一个数字 我还有一个按钮,当按钮被点击时调用函数 如何让按钮在每次单击时以递增的arg数调用函数 例如,第一个按钮单击调用Javascript Onclick使用增加的参数值调用函数,javascript,jquery,html,function,button,Javascript,Jquery,Html,Function,Button,我有一个jQuery函数,它接受一个参数(比如arg),它是一个数字 我还有一个按钮,当按钮被点击时调用函数 如何让按钮在每次单击时以递增的arg数调用函数 例如,第一个按钮单击调用myFunction(1),第二个按钮单击调用myFunction(2),等等 我希望单击按钮调用myFunction(arg),其中arg是单击次数 myFunction本身不是计数器,而是自己编写的代码 html: 我想在每次单击时调用sinAjax(单击number+100) 更新代码: html: 我面临的问
myFunction(1)
,第二个按钮单击调用myFunction(2)
,等等
我希望单击按钮调用myFunction(arg)
,其中arg
是单击次数
myFunction
本身不是计数器,而是自己编写的代码
html:
我想在每次单击时调用sinAjax(单击number+100)
更新代码:
html:
我面临的问题是,按钮只工作一次,然后连续单击会得到相同的值。完成此任务的方法有很多:将增加的值存储到数据属性中,或者:
var counter = 0;
$(element).on('click', function() {
myFunction(counter++);
});
将按钮的值设置为0(或使用数据属性),获取获取按钮值的函数,将其递增,然后将值设置为新值。这样,无论您是通过编程还是通过单击触发函数,操作都是相同的
$(文档).ready(函数(){
setValue();
$(“#myButton”)。在('单击',设置值)上
})
函数setValue(){
var val=parseInt($(“#myButton”).val();
var newVal=val+=1;
$(“#我的按钮”).val(newVal)
log(“新值为:”+newVal)
}
单击我
遁地龙卷风
函数myFunction(时间、目标)
{
警报(时间)
target.setAttribute('clickTime',+time+1)
}
请向我们展示您的尝试。所以问题应该是尊重的——编辑的代码来自我作为解决方案发布的代码——但您已经修改了它。最好不要使用内联脚本(例如:添加到按钮的onclick),因为您有jQuery和事件处理程序。修改我拥有的函数要好得多,因为已经有一个事件处理程序来触发该函数-您不需要内联onclick处理程序。要使其正常工作,只需对原始代码进行以下更改:(a)正确绑定jQuery单击处理程序:$('#newData')。单击(setValue)
然后(b)从setValue()
函数中调用sinAjax(newVal)
,并(c)删除inlineonclick
属性。谢谢,我已经做了您建议的更改,它似乎正在工作。
$(document).ready(function()
{
setValue();
$('#newData').onclick('click', setValue);
});
function setValue()
{
var val = parseInt($('#newData').val());
var newVal = val +=100;
$('#newData').val(newVal);
}
<button id='newData' value=0 >New Data</button>
$(document).ready( function() {
setValue();
$('#newData').click( function () {
sinAjax(val);
}) ;
}) ;
function setValue() {
val = parseInt($('#newData').val());
var newVal = val +=100;
$('#newData').val(newVal);
}
var counter = 0;
$(element).on('click', function() {
myFunction(counter++);
});
<button clickTime="1" onclick="myFunction(this.getAttribute('clickTime'),this)">遁地龙卷风</button>
function myFunction(time,target)
{
alert(time)
target.setAttribute('clickTime',+time+1)
}