2012-08-30 30 views
1

我正在使用jquery和jquery mobile來構建網站。我如何忽略jquery mobile綁定的事件

我有一個屏幕,用戶可以鍵入一些過濾器,當輸入改變時,某些事件被觸發。

的問題是,所述輸入字段與定義data-type="search"

<input placeholder="Filter items..." data-type="search" class="filter" value="" I18N="FILTER_ITEMS" data/> 

所以Jquery的移動自動添加一個「X」圖標用於清除搜索字段。

search field

,並在我的js我已綁定的改變事件的輸入字段,以便一旦用戶切換到該字段中會觸發:

$('.textFilter .filter').change(function(){ 
      FILTER_OBJ.addTextFilters($(this)); 
}); 

但它也觸發時用戶點擊jquery mobile添加的'X'按鈕,那麼我怎麼知道它何時被'X'按鈕觸發,所以我可以忽略它?

+0

爲什麼需要區分由X單擊清除的數據與手動清空字段時相比,是不是兩個操作都會清除輸入,因此將文本從某個值更改爲無? – Nope

+0

其實你是對的我忘記檢查值是否爲空之前我運行事件,所以我只是添加了一個檢查,如果值是空的,我不運行它。請張貼它作爲答案,以便我可以接受它。 – Tomer

+0

爲了完整性,我添加了一個答案,表明我在上面的註釋中突出顯示了相同的答案。 – Nope

回答

0

與用戶手動清空字段時相比,X點擊所清除的數據應該沒有區別。

這兩個操作都會清除輸入框中的數據,因此觸發更改事件並對待它們都是有意義的。

正如您在回覆中對原始帖子的評論中所記錄的那樣,您添加的用於檢查空值的任何代碼應該工作,而不管哪些操作導致輸入框被清空。