我有一個JavaScript函數,例如函數:運行時元素顯示
function SuperTD(id,str,tooltip) {
return '<td id="' +id+ '" title="' +tooltip+ '">' +str+ '</td>';
}
的SuperTD
打來電話,與許多元素連接在一起,而我不想改變它是如何工作(進不產生元素使用html字符串)。
,我需要觸發時元素呈現的功能,例如:
function SuperTD(id,str,tooltip) {
var onwhat = 'onwhat="executeFixedFunction(' + "'" +id+ "'" + ')"';
return '<td><div id="' +id+ '" title="' +tooltip+ '" ' +onwhat+ '>' +str+ '</div></td>';
}
其中executeFixedFunction
是:
function executeFixedFunction(id) {
$('#' + id).uploadFile({
url:"/file/upload"
});
}
怎樣纔是正確的情況下做到這一點?我需要初始化一個file-upload元素無處不在SuperTD
叫
用戶仍在使用Firefox 3.5。
編輯多個方面:
GridBuilder.render = function() {
// return from cache
var html = '';
// calls html += SuperTD(...)
return html;
}
GridBuilder.renderTo = function(id) {
$('#'+id).html(this.render());
// I guess this is where I should initialize the file upload, but still, is there another way?
}
您可以使用['MutationObserver'](https://developer.mozilla.org/en/docs/Web/API/MutationObserver),但它非常複雜。我建議你改變你的函數SuperTD來啓動文件上傳(這更有意義),而不是使用觀察者。 – DontVoteMeDown
https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events –
或者,您可以將回調參數添加到函數定義中。 '函數(id,str,tooltip,callback){callback();}' –