我试图避免在这里复制和粘贴。我有一个jquery,它是一个。submit
和一个ajax。 blur
。 submit
有一些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都在一个文件中。
请告知
答案 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();
}
祝你好运