jquery - 检查函数是否动态存在

标签 jquery function controller

我需要一个函数来检查 jQuery 中的函数是否存在,如果存在则应该调用该函数。如果我使用下面的代码和一个简单的名称,它可以工作,但如果我想动态检查函数是否存在,它就不起作用。有人有想法吗?

function homeController() {
    console.log('in the homecontroller');
}

$('div[class="view"]').each(function() {
        $('#' + this.id).live('pageshow', function() {
            var func = this.id + 'Controller';              
            if($.isFunction(func)) {
                console.log('jquery exists');
            }
        });
    });

最佳答案

使用jQuery.isFunction()检查对象是否是函数的方法。

$('div[class="view"]').each(function() {
        $('#' + this.id).live('pageshow', function() {
            var func = eval(this.id + 'Controller');              
            if($.isFunction(func)) {
                console.log('jquery exists');
            }
        });
    });

关于jquery - 检查函数是否动态存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6997120/

相关文章:

jQuery 加载不更新 Internet Explorer 中的文档

c - 以多维数组作为参数的函数原型(prototype)

c# - C# 中的 void* 替代方案

nginx - 在Nginx入口 Controller 中添加重写规则301

javascript - 通过其 src 获取图像的自然宽度

php - 使用超链接而不是提交按钮提交 AJAX 表单时出现问题

javascript - 在 <div> 中每 5 秒显示 PHP 变量作为进度条数据

c++ - 无法在数组 C++ 中找到最高/最低元素

java - 使用 Spring Boot 自动转换 RequestBody 期间,ZonedDateTime 的时区更改为 UTC

ruby-on-rails-3 - rspec Controller 空 session