如何将jquery函数限制到某些页面?

时间:2012-10-20 14:15:46

标签: jquery

这是我的javascript文件的摘录:

$(function() {
    if ($('form#search').length > 0) {
        setSearchForm();
    }
});

function setSearchForm() {
    var text=$('form#search input[type=text]');
    if (text.val().length != 0) {
        text.next('input[type=submit]').removeProp('disabled');
    } else {
        text.next('input[type=submit]').prop('disabled', true);
    }
}

我的问题是:我的所有子页面都使用此.js文件,但并非所有子页面都有search表格。

因此,在准备好文档时,我会检查是否存在搜索表单,然后仅在存在搜索表单时才调用setSearchForm()

我发现这是阻止setSearchForm()在每个页面上运行的唯一方法。因为如果没有搜索表单并且函数无论如何都被触发,我的js文件中的其他函数都不再有效。

是否有更优雅的解决方案,例如通过以某种方式重写函数?

我对jQuery很新,所以解决方案可能很简单!

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

将这两个函数放在一个单独的.js文件中,并仅在具有搜索表单的页面上导入它。