Javascript 避免Jquery自调用函数

Javascript 避免Jquery自调用函数,javascript,jquery,button,Javascript,Jquery,Button,我使用Jquery函数在两个按钮之间同时切换,但我的老板会说这是一种“肮脏”的代码编写方式。我不想调用函数,也不想传入Jquery参数,既然我对编程一无所知,那么有没有一种简单或更好的方法来编写这个函数呢? 在Jquery下面 var startStopBtn = function () { var startBtn = $('#timerStart'); var stopBtn = $('#timerStop').hide(); var Start = functi

我使用Jquery函数在两个按钮之间同时切换,但我的老板会说这是一种“肮脏”的代码编写方式。我不想调用函数,也不想传入Jquery参数,既然我对编程一无所知,那么有没有一种简单或更好的方法来编写这个函数呢? 在Jquery下面

var startStopBtn = function () {

    var startBtn = $('#timerStart');
    var stopBtn = $('#timerStop').hide();

    var Start = function () {
       startBtn.hide();
       stopBtn.show();
    };

   var Stop = function () {
       var remarks2 = $(".textArea-one").val();
       if (remarks2 !== "") {
         startBtn.show();
         stopBtn.hide();
       }
   };
   return {
      Start: Start,
      Stop: Stop
   };
}(jQuery);
jQuery('#timerStart').on('click', startStopBtn.Start);
jQuery('#timerStop').on('click', startStopBtn.Stop);

我认为代码可以通过多种方式完成,这只是其中之一

看起来您首先要隐藏stopBtn,所以创建一个函数来执行此操作。在页面加载时调用该函数,或者创建函数并在页面加载时调用它。这里我创建了一个函数,您可以随时调用它。如果您不想这样做,只需删除该函数

然后,在“单击”timerStart或timerStop时执行两个不同的函数

这是我的版本,但我相信它可以改进:

    function startStopBtn(){
        $('#timerStop').hide();
    };

    $('#timerStart').on('click', function(){
        $('#timerStart').hide();
        $('#timerStop').show();
    });

    $('#timerStop').on('click', function(){
       var remarks2 = $(".textArea-one").val();
           if (remarks2 !== "") {
             $('#timerStart').show();
             $('#timerStop').hide();
           } 
    });

看起来您要求进行代码审查,这对您来说是合适的。请回顾,因为这似乎是一个非常固执己见的问题。