2012-10-20 17 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文件中,並只將它導入到具有搜索表單的頁面上。

相關問題