Re: [greasemonkey-users] Odd problem with this.getAttribute [SOLVED]

0 views
Skip to first unread message

Patrick Wiseman

unread,
Nov 21, 2009, 4:19:49 PM11/21/09
to greasemon...@googlegroups.com
On Sat, Nov 21, 2009 at 4:09 PM, Patrick Wiseman <pwis...@gmail.com> wrote:
> On Sat, Nov 21, 2009 at 3:57 PM, cc <carl...@lavabit.com> wrote:
>> On 2009-11-21 10:26, Patrick Wiseman wrote:
>>> Hello GM'ers:
>>>
>>> I'm having a funny problem with this.getAttribute.  Here's a couple of
>>> code snippets:
>>>
>>> function doWhatever() {
>>>    def=this.getAttribute('id');
>>> }
>>>
>>> This, as expected, assigns the value of 'id' to def.
>>>
>>> function doWhatever(abc) {
>>>    abc ? def=abc : def=this.getAttribute('id');
>>> }
>>>
>>> If abc is present, this assigns abc to def; but if abc is absent, it
>>> assigns [objectXPCNativeWrapper[objectMouseEvent]] to def (the
>>> this.getAttribute comes from a mouse click on the element with the
>>> 'id' attribute).
>> Is this function an event handler, registered with addEventListener? If
>> so, then I suspect that abc is not actually absent, but is being
>> populated with the event parameter. Try adding an additional (first)
>> parameter to catch the event and do whatever with it -- e.g.
>>
>> function doWhatever(evt, abc) {
>>
>> For example, you could use evt.target.id instead of this.getAttribute, I
>> think.
>
> I bet you're right.  I'll mess around with it some more and see if I
> can fix it.  Thanks.

cc was indeed correct; function doWhatever(e,abc) assigns the click
event to 'e', so that I can call it as doWhatever(null,abc) and pass
abc to the function as intended. Thanks cc!

pw
Reply all
Reply to author
Forward
0 new messages