jQuery 中的 EVAL,这是正确的方法吗?
我需要用 EVAL 调用 jQuery 函数(但我不知道该怎么做),然后我用这个解决方案解决,但我不认为这是正确的方法...
<script>
jQuery.fn.customfunction = function (data) { alert( data ); }
</script>
<div id="eval_div"></div>
<form><input role="button" myFunction="customfunction"/></form>
<script>
$('[role=button]').click( function() {
var button = this;
$.post( "/action",
$(form).serialize(),
function (data) {
$('#eval_div').html( "<script>" + $(button).attr('myFunction') + "('" + data + "');</script>" );
} );
});
</script>
customfunction 是一个通用函数每个表单,每个表单都有不同的CUSTOMFUNCTION,并且名称不同,因此按钮就有了该功能的名称。
I need to call a jQuery function with EVAL (but I don't know how to do it), then I solve with this solution, but I don't think that this is the correct way...
<script>
jQuery.fn.customfunction = function (data) { alert( data ); }
</script>
<div id="eval_div"></div>
<form><input role="button" myFunction="customfunction"/></form>
<script>
$('[role=button]').click( function() {
var button = this;
$.post( "/action",
$(form).serialize(),
function (data) {
$('#eval_div').html( "<script>" + $(button).attr('myFunction') + "('" + data + "');</script>" );
} );
});
</script>
customfunction is a general function for each form, each form has a different CUSTOMFUNCTION with different name, by this reason, the button has the name of the function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在这种情况下你不需要评估。在 JavaScript 中,您可以使用点符号或方括号。他们的意思是一样的。试试这条线。
You don't need eval in this case. In JavaScript you can use dot notation or square brackets. They mean the same thing. Try this line.
如果您只想调用该函数...您可以非常简单地做到这一点:
If you just want to call the function... you can do it very simply: