問題があります。ユーザーが何度も作成できる div を作成します。
var innerdiv = $('<div>');
innerdiv.attr('class','dropzoneobject');
innerdiv.attr('onclick', 'changeText(this)').appendTo(div);
この div には、パラメータ this を持つ onclick アクションがあります。
function changeText(object) {
var editor = document.getElementById('editortools');
var display = editor.style.display = 'block';
var text = object.firstChild;
$('#color').change(function(object) {
var color = document.getElementById('color').value;
var text = object.firstChild;
text.style.color = color;
});
}
関数 changeText では、onclick イベントで div から取得したオブジェクト パラメーターを使用してアラートを出し、すべてを実行できます。
しかし、change() 関数では.. object パラメーターはなくなりました! :(
私の質問: 2 番目の関数で同じオブジェクトを取得するにはどうすればよいですか?
function changeText(object) {
alert(object);
//I can see the object !
$('#color').change(function() {
alert(object);
// no object here :C
});
}
修正しました:)これは、同じ問題を抱えたのぞき見のコードです
function changeText(object) {
selectedDiv = object;
$("#editortools").fadeIn();
}
var selectedDiv = null;
$(document).ready(function() {
$('#color').change(function() {
if(selectedDiv != null){
selectedDiv.style.color = $('#color').val();
}
});