我对使用回调函数的javascript方法有疑问。 我有一个jsp,我定义了一个要调用的回调函数。
<c:set var="callbackMethod" value="dispatchRFQDocument.loadDocumentGroup" scope="request"/>
然后从下一个JSP如果我从onClick调用该回调,一切都像魅力一样。
<a id="documentComponentLinkId"
href="javascript:void(0);" onclick="documentDialog.openDocumentsDialog(${callbackMethod})">
<i id="documentsDialog" class="fa fa-folder-open-o">
<spring:message code="label.procurement.stopProcedure.documents"/>
</i>
</a>
但是,我没有使用onClick事件,而是想在我的Javascript上绑定事件并在那里调用回调。无法再调用回调方法,因为它是一个文字。
在我的JSP中
<script>
var callbackMethod = "${callbackMethod}";
</script>
并在Javascript中
var initListener = function () {
$('#documentComponentLinkId').click(function () {
documentDialog.openDocumentsDialog(callbackMethod);
});
};
有什么建议吗?
问候。
答案 0 :(得分:0)
您可以像以前一样直接将回调方法传递给openDocumentsDialog()
。
var initListener = function () {
$('#documentComponentLinkId').click(function () {
documentDialog.openDocumentsDialog(${callbackMethod});
});
};
答案 1 :(得分:0)
您正在将变量 callbackMethod 设置为字符串。
实际上,您必须将其设置为函数定义而不是这样做。
我认为下面应该可以正常工作:
var callbackMethod = dispatchRFQDocument.loadDocumentGroup