在另一个jquery中包含一些jquery代码,而不复制和粘贴
我尽量避免在这里复制和粘贴。我有一个jquery,它是一个.在另一个jquery中包含一些jquery代码,而不复制和粘贴,jquery,Jquery,我尽量避免在这里复制和粘贴。我有一个jquery,它是一个.submit,还有一个ajax,它是模糊。submit有一些var和其他一些我想包含在blur函数中的代码位,但我想避免复制和粘贴问题。请告诉我如何才能做到这一点 提交 //下面的代码是我需要包含在blur函数中的代码 var buttonWidth=$('#guess button').width(); var buttonCopy = $('#guessbutton').html(),
submit
,还有一个ajax,它是<代码>模糊。submit
有一些var
和其他一些我想包含在blur
函数中的代码位,但我想避免复制和粘贴问题。请告诉我如何才能做到这一点
提交
//下面的代码是我需要包含在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;
}
模糊
//我需要在这里包含submit
中的代码,但我不想复制和粘贴
}
p、 jquery和ajax都在一个文件中
请建议只需创建一个包装器函数,封装您需要的所有功能,否则您将复制这些功能
//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;
}
试一下:
$('#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');
});
如果我理解您的问题,请将代码放在一个单独的函数中,如下所示:
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();
}
祝你好运然后尝试编写函数。并在任何地方调用该fn,比如:
var a=function(){…code…};并调用fn a()
。SimpleSo将相关代码包装在函数中,并将函数调用在两者中handlers@A.Wolff我做了,但我仍然需要复制var buttonWidth=$(“#联系人表单按钮”).width();var buttonCopy=$('#contact form button').html(),
,因为当我在其他地方调用它时,它没有得到包含function@user3057514您可以将函数包装到另一个函数中,并使用参数调用函数。有很多方法可以处理它。我在所有答案中都意识到,我仍然需要复制var buttonWidth=$(“#contact form button”).width();var buttonCopy=$(“#contact form button”).html(),
,因为它不包括在submit
和blur
函数中。我对javascript不太感兴趣,但它是我需要花时间学习的东西之一。这个模式不仅仅适用于javascript,它适用于几乎所有语言。代码重用是一个极其重要的概念,有无数种方法可以做到这一点。如果您想了解更多关于代码重用的信息,那么软件设计模式是一件值得关注的事情。
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();
}