в JQuery, если я использую $("#my_button").data('my-value', { onClick: function() { my_obj_function(); } });
JQuery .data функция против установки значения данных в HTML
и в другой функции я сделать это
my-value.onClick.call()
это работает.
, но если я попытаюсь установить данные, связанные с html, он не работает. я сделал это в HTML <a href='#' data-my-value='{"onClick":"function() { my_obj_function(); }"}'>Click me</a>
в то время как calling my-value.onClick.call()
я получаю uncaught typeerror : object function() has no method call
, что я делаю не так?
Согласно спецификации пользовательских атрибутов HTML5 '' равнозначно '$ (...). Data ('myValue') '. – Phylogenesis
@ Филогенез - Не совсем. Метод '.data()' может атрибуты _retrieve_ html5 'data-', но он не может _set_ их. Атрибуты 'data-' - это строки, но '.data()' может хранить другие типы, включая объекты. – nnnnnn
@nnnnnn - Правда. Я понимаю, что '$ .cache' используется jQuery для обработки' data() ', но я думал, что стоит упомянуть о небольшом отключении между ключом данных и атрибутом, который использовал Rifky. – Phylogenesis