По умолчанию toString
объекта просто возвращает "[объект объекта]", который (как вы выяснили) не то, что вы хотите.
Я бы отступил назад и спросил, если вы используете фреймворк, такой как ExtJS, который предоставляет довольно богатые функциональные возможности, почему вы обращаетесь к атрибуту onclick
на привязке? ExtJS (как и большинство других библиотек JavaScript) предоставляет средство для перехвата события на объекте более современным способом, так что вы можете использовать obj
напрямую.
Я не использовал ExtJS годами, поэтому боюсь, что не помню прямого способа сделать это, но я думаю, что это либо EventManager.addListener
, либо, скорее, некоторые сокращения для него как Element#on
. Таким образом, вы добавили бы свой якорь (или span, или любой другой), а затем использовали addListener
, чтобы добавить обработчик событий click
, который напрямую использует obj
. Что-то вроде:
var obj = {a: 123, b: 'abc' };
Ext.get('theId').on('click', function() {
Ext.ux.classobj.method(obj);
});
... или, конечно, просто:
Ext.get('theId').on('click', function() {
Ext.ux.classobj.method({a: 123, b: 'abc' });
});
... но опять же, мой ExtJS-фу очень слаб в наши дни.