私はdatasetのpolyfillを作成する方法を理解しようとしていますが、私はgetとsetを使用して関数を定義する必要があると思います。 Element.prototype
に追加しようとすると、get/setの構文はどうなりますか? MDNの例ではローカル変数を示していますが、それらを使ってElement.prototype
に追加するにはどうすればよいですか?JavaScriptを使用してpolyfillにgetとsetを設定する
Object.defineProperty {Element.prototype, "dataset",
get: function() { /* return value */ }
, set: function(newVal) { /* set somehow w/ setAttribute or jQuery */ }
}
私は$.attr()にどちらのルートgetter/setterメソッドに私はちょうど.data()または(より良い)ネイティブsetAttribute
とgetAttribute
にそれらを関連する上記の例をしたいと思います。 polyfill for dataset hereが1つありますが、標準準拠のブラウザ(IE8以下ではありません)のみをサポートしています。私は__defineGetter__
の使用を避けたい(私はそれがIE8の問題だと思います)。私はdefinePropertyが適切な方法かもしれないと思うし、私はES5 Shimを使ってそれをpolyfillすることができます。これを行うにはどうすればdefinePropertyを使用しますか?
https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Object/defineProperty maybe – ryanve
私は ' defineProperty'は方法です。質問が更新されました。 – ryanve