JQuery将字符串识别为函数动态回调



我有一个简单的jquery函数,我正在尝试让ajax动态运行。该函数在作为调用时工作良好

function widget1() { 
    console.log("test");
}
$(function () {                 
  $('#thisbutton').bind('click', function() {
  var htmlString = $("#uid").html();
     $.ajax({
      type: "GET",
      url: "/getappobj",
      data: {id:htmlString},
      success: function(data) {
        widget1();
      }
    });
});});

但是,如果我试图动态调用函数,我会得到一个错误,即字符串不是函数

$(function () {                 
  $('#thisbutton').bind('click', function() {
  var htmlString = $("#uid").html();
     $.ajax({
      type: "GET",
      url: "/getappobj",
      data: {id:htmlString},
      success: function(data) {
        var findit = data[0].widget;//returns "widget1"
        findit();
      }
    });
});});

我想办法都试过了。使用jquery-1.9.1.min.js.

如果widget1是全局的,则可以调用window[findit]()以按名称从窗口对象中获取函数。

您正试图将字符串作为函数调用,但这当然是行不通的。您需要使用字符串来查找要执行的函数。

相关内容

  • 没有找到相关文章

最新更新