jQueryの.click()で警告が表示される
タイトルの通りjQueryで.click()を利用すると(event.preventDefault())警告(Warning)が表示される。Google Chrome、Firefoxの双方で表示されるのでブラウザの問題ではなくjQueryの問題かと思う。
さらに、同じスクリプトでも今までは表示されていなかったので現在利用しているjQuery 1.10.1かjQuery 1.10.2の問題になる。
Firefox 25.0.1
Use of getPreventDefault() is deprecated. Use defaultPrevented instead. @ http://code.jquery.com/jquery-1.10.1.min.js:5
Google Chrome 31.0.1650.63
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (15件) を見る
そしてこの問題が報告されているか調べてみると、
DON'T CALL GETPREVENTDEFAULT() IF THERE IS A DEFAULTPREVENTED PROPERTY
CALLING 'EV.PREVENTDEFAULT()' ON LATEST CHROME CANARY (31.0.1619.0) TRIGGERS A WARNING
として既に問題が報告されバグ修正もされており、jQuery 1.x系であればjQuery 1.11で問題が修正されている。
現在はjQuery 1.11はベータ版だが、jQuery Core – All VersionsページからjQuery 1.11.0-beta2がダウンロードできる。
このバージョンでは当該の警告が表示されないことを確認した。
警告が表示されるスクリプトのサンプルはこちら。
index.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Sample</title> <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="./sample.js"></script> </head> <body style="min-height: 800px; border: 1px solid #CCCCCC;"> </body> </html>
sample.js
$(document).ready( function(){ $("body").click( function( e){ console.log( e.clientX); } ); } );
- 作者: David Flanagan,村上列
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/08/10
- メディア: 大型本
- 購入: 12人 クリック: 252回
- この商品を含むブログ (15件) を見る
パーフェクトJavaScript (PERFECT SERIES 4)
- 作者: 井上誠一郎,土江拓郎,浜辺将太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/09/23
- メディア: 大型本
- 購入: 24人 クリック: 588回
- この商品を含むブログ (12件) を見る
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/27
- メディア: 大型本
- 購入: 29人 クリック: 673回
- この商品を含むブログ (45件) を見る