在没有复制和粘贴的情况下在另一个中包含一些jquery代码

时间:2014-03-04 10:30:16

标签: jquery

我试图避免在这里复制和粘贴。我有一个jquery,它是一个。submit和一个ajax。 blursubmit有一些var以及我要包含在blur函数中的其他代码,但我想避免复制和粘贴问题,我该怎么办呢。

提交

  $('#guess').submit(function() {

//以下代码希望我需要包含在blur函数

        var buttonWidth=$('#guess button').width();
        var buttonCopy = $('#guessbutton').html(),
        errorGuess = $('#guess button').data('error-guess'),
        sendGuess = $('#guess button').data('send-guess'),
        okGuess= $('#guess button').data('ok-guess'),
        hasError = false;
     }

模糊

$('#number').blur(function() {
  var number = $(this).val();

//我需要在submit添加代码,但我不想复制和粘贴

 }

P.S。 jquery和ajax都在一个文件中。

请告知

3 个答案:

答案 0 :(得分:0)

只需创建一个包装函数,它封装了您需要复制的所有功能。

//Might not be valid syntax, my javascript is a bit rusty as I haven't done any in a few months. But it gives you the idea.
function wrapper(){
        var buttonWidth=$('#guess button').width();
        var buttonCopy = $('#guessbutton').html(),
        errorGuess = $('#guess button').data('error-guess'),
        sendGuess = $('#guess button').data('send-guess'),
        okGuess= $('#guess button').data('ok-guess'),
        hasError = false;
}

答案 1 :(得分:0)

试试:

$('#guess').on('validate', function() {
    var buttonWidth=$('#guess button').width();
    var buttonCopy = $('#guessbutton').html(),
    errorGuess = $('#guess button').data('error-guess'),
    sendGuess = $('#guess button').data('send-guess'),
    okGuess= $('#guess button').data('ok-guess'),
    hasError = false;
}
$('#guess').submit(function() {
    $(this).trigger('validate');
});

$('#number').blur(function() {
    var number = $(this).val();
    $('#guess').trigger('validate');
});

答案 2 :(得分:0)

如果我理解你的问题,请将你的代码放在一个单独的函数中:

    function yourName (){
      var buttonWidth=$('#guess button').width();
      var buttonCopy = $('#guessbutton').html(),
      errorGuess = $('#guess button').data('error-guess'),
      sendGuess = $('#guess button').data('send-guess'),
      okGuess= $('#guess button').data('ok-guess'),
      hasError = false;
    }

然后调用你的函数......

    $('#guess').submit(function() {
       yourName();
    }

    $('#number').blur(function() {
      var number = $(this).val();
      yourName();
    }
祝你好运