about <object> event binding

about <object> event binding

The html code:
  1. <html>
  2. <body>
  3.       <div>
  4.             <object data="a.php" ... >
  5.                   <param name="type" value="value">
  6.                   ....
  7.                   <embed ... >
  8.             </object>
  9.       </div>
  10. </body>
  11. </html>
I want to bind a user event to the <object> node using the following code:
$("object").bind("userevent",function(){ alert("user event");});
Somewhere I generate an event:
var e = document.createEvent("Event");
e.initEvent("userevent",true,true);
$("object")[0].dispatchEvent(e);
but the alert window didn't show up.
I replaced the event binding code with
$("object")[0].addEventListener("userevent",function(){alert('user event');},true)
then it works.
what is the problem? who can help me out?