2013-04-09 43 views
1

我正在用JQM編寫一個web文檔閱讀器。 我不希望我的用戶閱讀時連續滾動左右,所以我視是:jQuery手機:更改字體大小的捏入/捏出?

<META NAME='viewport' CONTENT='width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=1;' /> 

雖然,我與字體大小了解用戶的偏好,可能因不同的視覺技能.. 因此,我認爲在多點觸控縮小動作(「捏合」)上縮小字體大小以及在多點觸控變焦動作(「放大」動作)上放大字體大小會很好...

這可能嗎?除了JQM之外,我還需要一些外部圖書館嗎?

+0

它看起來像你正在尋找一種方法來檢測手勢是不是?如果是的話,那麼只需看看這個主題:[http://stackoverflow.com/questions/11183174/simplest-way-to-detect-a-pinch](http://stackoverflow.com/questions/11183174/最簡單的方法來檢測一個捏),其餘的,你只需要改變em的實際大小。檢查那裏: [用JavaScript修改CSS](http://www.w3.org/wiki/Dynamic_style_-_manipulating_CSS_with_JavaScript#Style_Sheet_Properties)最好的問候,沙利文 – Sullivan 2013-04-09 08:56:55

回答

6

它可能在jQuery Mobile上,但您需要使用名爲hammer.js的第三方實現。

它支持大量類似的手勢:

  • 持有
  • 自來水
  • doubletap
  • 拖累,的dragstart,dragend,dragup,dragdown,dragleft,dragright
  • 輕掃,swipeup ,swipedown,swipeleft,swiperight
  • transform,transformstart,transformend
  • 旋轉
  • 捏,pinchin,尖滅
  • 觸摸(手勢檢測開始)
  • 釋放(手勢檢測結束)

實施例:

$('#test_el').hammer().on("pinchin", ".nested_el", function(event) { 
    console.log(this, event); 
}); 

$('#test_el').hammer().on("pinchout", ".nested_el", function(event) { 
    console.log(this, event); 
}); 

它的工作原理與jQuery移動,這很重要。但是你應該考慮一些其他的想法,或者至少對於Android 2.X設備的另一個想法,因爲該平臺不支持多點觸摸事件。

還有一些其他的第三方實現,如Touchy。不幸的是,Touchy只支持捏。

+0

謝謝...然而在此期間,我找到了「quojs」庫(http://quojs.tapquo.com/),這對我來說工作得很好...... – MarcoS 2013-04-09 09:41:00