2012-10-20 20 views
1

这是我的JavaScript文件的摘录:如何限制jQuery的功能到某些页面?

$(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相当陌生,所以解决方案可能很简单!

感谢您的任何帮助。

+0

是setSearchForm()通过类似click事件的事件调用的吗? – Habibillah

+0

是的,还有一个事件调用'setSearchForm()' – Tintin81

回答

1

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

相关问题