jQuery の focus イベントで使用したい変数がいくつかあります。フォーカス コールバックに含まれるように宣言するにはどうすればよいですか?
var height = 72;
$('#myfield').focus(function() {
heightinfeet = height / 12;
alert(heightinfeet);
});
私にとって、高さは常に0です。渡す変数がいくつかあり、これをプロパティに使用してオブジェクトにしようとしましたが、どちらにも渡されませんでした
/ *実際のコード* /
function GOPRO_pfFieldConfirmation(oField1, oField2, oMarkerField, bCaseSens) {
var GOPRO_iFieldLen1 = $(oField1).val().length;
var GOPRO_iFieldLen2 = $(oField2).val().length;
var GOPRO_sFieldVal1 = $(oField1).val();
var GOPRO_sFieldVal2 = $(oField2).val();
var GOPRO_sFieldSub = GOPRO_sFieldVal1.substring(0, GOPRO_iFieldLen2);
//if not case sensitive, make all upper case
if (bCaseSens == false) {
GOPRO_sFieldVal1 = GOPRO_sFieldVal1.toUpperCase();
GOPRO_sFieldVal2 = GOPRO_sFieldVal2.toUpperCase();
GOPRO_sFieldSub = GOPRO_sFieldSub.toUpperCase();
}
$(oField1).focus( function() {
console.log(GOPRO_iFieldLen1);
if ((GOPRO_sFieldVal1 == GOPRO_sFieldVal2) && GOPRO_iFieldLen1 > 0) {
GreenMarker();
}
else if (GOPRO_iFieldLen1 > 0 && GOPRO_iFieldLen2 > 0) {
RedMarker();
}
else {
NoMarker();
}
});
...
GOPRO_pfFieldConfirmation($('#reg_email'), $('#reg_email2'), $('.field_confirm:eq(3)'), false);
console.log は常に 0 です。実際には、定義済みのすべての変数が 0 または null 文字列を返します。