javascript - jQuery 中的 EVAL,这是正确的方法吗?

标签 javascript jquery function eval call

我需要使用 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,并且名称不同,因此按钮就有了该函数的名称。

最佳答案

如果您只想调用该函数...您可以非常简单地做到这一点:

function (data) {
    jQuery.fn[$(button).attr('myFunction')](data);
};

关于javascript - jQuery 中的 EVAL,这是正确的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739814/

相关文章:

c++ - 处理 boost 变量和 boost 函数

javascript - 按名称显示的可选参数的值 (Javascript)

javascript - 拖放保持可编辑内容的行为

javascript - 在排序列表周围包装 div

jQuery 脚本无法在 Wordpress 中加载($ 不是函数)

javascript - 为了让函数一 "know"对函数二中发生的事情使用react,参数是如何参与的?

javascript - 我怎样才能摆脱这段代码中的重复

javascript - 动态生成菜单的动画无法正常工作

javascript - angularjs 1折叠具有不同内容的同一面板

c++ - 收到错误 : ISO C++ forbids declaration of with no type