javascript - 有没有办法不重复这段代码?

标签 javascript

我正在制作一个计数按钮,但问题是因为我重复相同的代码至少 100 次,这使得代码变得巨大,有没有办法不对不同的按钮重复数百次?

$('#rcleric21').click( function() {
    counter11 = $('#rankcleric11').val();
    if (counter11 > 0) {
       counter11--;
       total[3]++;
       totalranktres--;
       $('#rankcleric11').val(counter11);
       $('.skillpoints3').val(total[3]);
    }
});
$('#rcleric22').click( function() {
     counter11 = $('#rankcleric11').val();
     if (counter11 < 5 && totalranktres <15){
         counter11++ ;
         total[3]--;
         totalranktres++;
         $('#rankcleric11').val(counter11);
         $('.skillpoints3').val(total[3]);
    }                   
});

最佳答案

您可以创建一个函数,例如

function doSomething(e) {
    console.log('Do Something');
}

$('#someId').click(doSomething);
$('#someId2').click(doSomething);

这样您就无需重复在单击回调(doSomething 函数)中执行的代码。显然,您应该调整内部代码以使其更加通用,因此它可以根据情况执行您需要的任何操作(选择器可能会更改,等等)。

如果您需要对很多元素执行此操作,应考虑向其添加一个类(无需循环遍历所有元素来附加回调)。

你的代码应该看起来像..

function doSomething(e) {
   var elem = $(e.currentTarget);
   console.log(elem);

   //Apply your logic here based on the element here.
}
$('.clickToDoSomething').click(doSomething);

关于javascript - 有没有办法不重复这段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334857/

相关文章:

php - 我制作的应该向 mysql 表添加条目的 php 页面没有对该表执行任何操作

javascript - col可调整大小的行显示 :none; and the custom anchors relating to the row to have a display:none;

javascript - 在 Node.js 中将 token 传递给另一个请求

javascript - 在服务单元测试中订阅模拟变量

javascript - jQuery AJAX JSONP 错误 "Unexpected token"

Javascript 函数生成器参数

javascript - 滚动子 iframe 时接收 touchmove 事件

JavaScript 执行 block 和消息队列

javascript - 使移动网络应用程序能够在用户移动默认浏览器中打开链接,而不是在应用程序内部打开

javascript - 如何只从没有列名和括号的对象数组中获取值?