我有一个问题,我创建了一个用户可以多次创建的 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()函数中..对象参数不见了!:(
我的问题:如何在第二个函数中获得相同的对象?
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();
}
});