原子炉のコードと私は小さな問題に出くわしました。私は与えられた要素のonclickで実行されるプロンプトから変数の値を読みました。今では、すべての可能なパラメータを含むグローバル関数を作成しようとしています。そして、関数が呼び出された場所に応じて、入力後に、ページの適切な場所に要素を作成し、入力されたパラメータを追加します。私はここでスイッチを適用し、要素を追加のボックスに追加しませんが、パラメータを渡しました。たとえば、なぜですか?この関数はonclickにパラメータを渡しません
var overlay = $("#overlay");
var message = $("#message");
function popupshow() {
overlay.css("display", "block");
}
function popuphide() {
overlay.css("display", "none");
}
function params(type) {
param1 = $("#param1").val();
param2 = $("#param2").val();
param3 = $("#param3").val();
param4 = $("#param4").val();
param5 = $("#param5").val();
param6 = $("#param6").val();
switch (type) {
case img:
$("#additional-box").append('<img src="' + param6 + '" style="width: ' + param2 + 'px; height: ' + param3 + 'px;">');
break;
case otherimg:
$("#other-photos").append('<img src="' + param6 + '" style="width: ' + param2 + 'px; height: ' + param3 + 'px;">');
break;
case section:
$("#new_section").append('<div class="sekcja" style="width: ' + param2 + 'px; height: ' + param3 + 'px; background: #' + param4 + '; color: #' + param5 + ';"></div>');
break;
case gallery:
$("#gallery").append('<img src="' + param6 + '" />');
break;
}
}
$("#add-params").on("click", function() {
params(img);
});
$("#additional-img").on("click", function() {
popupshow();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="overlay">
<div id="message">
<p id="m-title">Params</p>
<input type="text" placeholder="Section title" name="param1" id="param1" />
<input type="text" placeholder="Element width" name="param2" id="param2" />
<input type="text" placeholder="Element height" name="param3" id="param3" />
<input type="text" placeholder="Element background" name="param4" id="param4" />
<input type="text" placeholder="Element color" name="param5" id="param5" />
<input type="text" placeholder="Source" name="param6" id="param6" />
<button type="button" id="add-params">Add to template</button>
</div>
</div>
<div id="additional-box">
</div>
<div id="additional-img">
<button type="button">Add image</button>
<span>Image adding is optional.</span>
</div>
'paramsは(IMG);'それは文字列で、かつ 'switch'内の文字列をチェックし、現在は'捕捉されないにReferenceErrorをスロー変数として 'img'を送っている必要があります。IMGはdefined'ではありません –
[JQuery .on( "click"、function())の可能な複製ができません](https://stackoverflow.com/questions/19192376/jquery-onclick-function-doesntwork) –