我有一个问题,我创建了一个div,可以由用户很多次创建。
var innerdiv = $('<div>');
innerdiv.attr('class','dropzoneobject');
innerdiv.attr('onclick', 'changeText(this)').appendTo(div);
这个div有一个onclick动作,其参数为this。
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();
}
});