我确信我在想这个......
文件A有一个空容器div,单击按钮,将数据加载到该div ...
文件A有一个按钮,我想将函数绑定到上面的jquery返回。
AJAX文件
echo json_encode(array('callback' => 'javascriptFunction'));
“javascriptFunction”是可以调用的有效函数。我如何或可以绑定该功能。
JAVASCRIPT
$.ajax({
type: 'POST',
dataType: 'json',
url: "../ajax.php",
data: '&m=loadExternalData&f='+ module,
success: function(resultData) {
$('#externalFieldsetTitle').html(resultData.title);
$('#externalSaveButton').bind('click', function() {
resultData.callback;
});
}
});
我传回的不仅仅是“回调”,但对于这个例子,我认为不需要。
基本上我将外部模块加载到div中并希望允许它们指定它们的保存功能并将其传入,以便核心保存按钮可以处理多个外部加载的文件。我认为这有道理吗?
答案 0 :(得分:2)
尝试这样的事情:
$('#externalSaveButton').bind('click', function() {
window[resultData.callback]();
});
或直接:
$('#externalSaveButton').bind('click', window[resultData.callback]);
(在这种情况下,它必须在全球范围内)
答案 1 :(得分:0)
$(document).ready(function() {
$('#externalSaveButton').live('click', function(resultData) {
resultData.callback;
});
});
答案 2 :(得分:0)
ajax请求可能会返回一个字符串作为函数。您可以做的是尝试将其作为Function
构造函数传递:
var callback = new Function(resultData.callback);
$('#externalSaveButton').bind('click', callback);
但这一切都取决于resultData.callback
的格式化方式。