вот, только-что тестил
userjs который ставим через Greasemonkey
// ==UserScript==
// @name someName
// @namespace someFunctions
// @include *
// ==/UserScript==
var someObj={
ctor:function()
{
this.somemethod();
},
somemethod:function(){
//document.getElementById('someid').setAttribute('onclick','someObj.action()'); // someObj is not defined
//document.getElementById('someid').addEventListener('click','someObj.action',false); // ноль реакции, даже ошибок нет
//document.getElementById('someid').onclick=someObj.action; // так же ноль реакции
//document.getElementById('someid').onclick=function(){someObj.action();} // снова нет реакции. someObj.action также, и даже просто alert('test') как бы говорит о том что таким способом onclick не по вешать, хотя по фен-шую вроде..
//document.getElementById('someid').onclick=someObj.action(); // не дожидаясь события onclick вызывается action сразу по загрузке документа. тут удивляться не приходится..
},
action:function(){alert('hello world!11');}
}
window.load=someObj.ctor();
страница на которой тестим
<html>
<head><title>some page</title>
</head>
<body>
<div id="someid">make some action</div>
</body>
</html>