我有一個相對簡單的腳本來處理兩個字段中的文本。這最初起作用很大,但是當我點擊按鈕#check
時,$field1
和$field2
的值似乎沒有更新。這意味着,當文本在第一個字段中輸入時,腳本可以操縱第二個字段,但當在第二個字段中輸入文本時,它不能操縱第一個字段。更新jQuery中變量的值
$(document).ready(function() {
var val = "";
$field1 = $("#password");
$field2 = $("#fake-password");
$('#check').click(function() {
$field1 = $("#fake-password");
$field2 = $("#password");
$("#password").hide();
$('#check').hide();
$("#fake-password").show().focus();
$('#check-inv').show();
});
$('#check-inv').click(function() {
$field1 = $("#password");
$field2 = $("#fake-password");
$("#fake-password").hide();
$('#check-inv').hide();
$("#password").show().focus();
$('#check').show();
});
$(function() {
$field1.on('keydown', function() {
setTimeout(function() {
$field2.html($field1.val());
val = $field1.val();
$field2.val(val);
}, 0);
});
});
});
我很抱歉,如果這是一個明顯的錯誤,因爲我是相對較新的語言,但我將不勝感激任何幫助解決此問題。
旁註:你墮入[* Implicti Globals的恐怖*](http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html):聲明'$ field1'和'$ field2'。 –
變量應該用「var」聲明。要在不同的函數中訪問它們,你應該在函數之外聲明它們。 –