Я пытаюсь выяснить, как сделать полифилл для набора данных , и я думаю, что мне нужно использовать get и set для определения функции. Как будет выглядеть синтаксис get / set при попытке добавить их к Element.prototype
? В примерах на MDN показаны локальные переменные, но как их использовать для добавления к Element.prototype
?
Object.defineProperty {Element.prototype, "dataset",
get: function() { /* return value */ }
, set: function(newVal) { /* set somehow w/ setAttribute or jQuery */ }
}
Я бы хотел либо перенаправить методы getter / setter на $. Attr () В приведенном выше примере я просто связал их с .data () или (лучше) с родной setAttribute
и getAttribute
.
Здесь есть один полифилл для набора данных , но он поддерживает только совместимые со стандартами браузеры (не IE8 или менее). Я хочу сделать один из них избегает использования __defineGetter__
(я думаю, что это проблема в IE8). Я думаю, что defineProperty может быть подходящим методом, и я могу использовать ES5 Shim , чтобы его заполнить. Как бы я использовал defineProperty , чтобы сделать это?