ゴミ箱の中のメモ帳

まだ見ぬ息子たちへ綴る手記

jQueryの.click()で警告が表示される

タイトルの通りjQueryで.click()を利用すると(event.preventDefault())警告(Warning)が表示される。Google ChromeFirefoxの双方で表示されるのでブラウザの問題ではなく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.

JavaScript 第6版

JavaScript 第6版


そしてこの問題が報告されているか調べてみると、

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);
	}
    );
}
		 );

JavaScript 第6版

JavaScript 第6版

パーフェクトJavaScript (PERFECT SERIES 4)

パーフェクトJavaScript (PERFECT SERIES 4)

JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで

JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで