Closed Bug 82951 Opened 19 years ago Closed 9 years ago

Support blur() method on area elements.


(Core :: DOM: Core & HTML, enhancement, P5)






(Reporter: bisho, Unassigned)


(Keywords: qawanted)

When you try to access an area object throught getElementsByTagName or
getEkementById, the blur() method is not set. You get an "this.blur is not a

If you put in the area tag:
<area onfocus="this.blur"> that this.blur works well.

An example code:

You could see the problem at work (more complex code) in:

This is important to solve, because the blur method is commonly use to remove
the marks that some browsers show arround links when they are clicked, for
example in images, links and specially image maps, where the Web designers do
not want people to see the area of the link in the image.

With javascript you could add the onfocus="this.blur" to all the links of a
document withour adding lines to the existing links.
--> DOM Level 0
Assignee: dbradley → jst
Component: XPConnect → DOM Level 0
QA Contact: pschwartau → desale
I'm not sure of what is exactly the diference betewn DOM Level 0 and XPConnect.
But what make me thing that the bug is on XPConnect was that a 
onfocus="this.blur" works well. So blur seems to me to be implemented in DOM. 

Maybe is only XPConnect that aplies a filter to access methods of objects?

Note: I could be probably wrong beacause I don't know the internals of 
mozilla. Sorry about bothering you if my ideas are wrong.
Sorry, i forget to attach the minimun information:

Build 2001052411 (pretty recent, from TGZ with no sea-installer) on Linux 
(RedHat 7.1) suffer from this bug.

Also Netscape 6.0, I think on Win (A friend notice the bug, he mention the 
version of mozilla but not the platform).
The DOM spec does *not* define a blur() method on area elements and thus it's
not supported in mozilla. That's why your code doesn't work, doing:

  <area onfocus="this.blur">

is equivalent to:

  <area onfocus="undefined">

since there is no this.blur property/method. The correct way to write
onfocus="this.blur" is:

  <area onfocus="this.blur()">

but since this.blur() not supported in mozilla it won't work.

Mozilla doesn't put borders around area's when you click on them does it? If so
then you can work around this proprietary behavour by doing something like this
in stead:

  <area onfocus="if (this.blur) this.blur()">

And in mozilla, if it were ever to support showing borders around focused area
elements you could write CSS rules that would disable that bahavior if that's
what you want on your web pages.

Confirming, accepting bug marking Future since I don't feel this is important
enough to add at this point in the game.
Ever confirmed: true
OS: Linux → All
Hardware: PC → All
Summary: XPConnect does not support blur() method for area elements. → [RFE] Support blur() method on area elements.
Target Milestone: --- → Future
I agree that this is not the most important to solve now. Only comment that 
Netscape 6.0 shows the marks arround the images. Last Mozilla releases are not 
Severity = LOW [No Crash, No severe functional failure, No Cosmetic failure]
Visibility = LOW [Dont see any real world website usage, Gets one point of 
compatibility with other browsers since it works on other browsers. Not in 
Compliance with adopted technology.] 

Priority = Visibility * Severity

Priority = p5

adding word "qawanted" because I'm setting this priority on available data & if 
someone feels otherwise then please investigate this more & feel free to change 
this priority.
Keywords: qawanted
Priority: -- → P5
[RFE] is deprecated in favor of severity: enhancement.  They have the same meaning.
Severity: normal → enhancement
Summary: [RFE] Support blur() method on area elements. → Support blur() method on area elements.
Mass-reassigning bugs to
Assignee: jst → dom_bugs
QA Contact: desale → ian
Assignee: general → nobody
QA Contact: ian → general
Closed: 9 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 583514
You need to log in before you can comment on or make changes to this bug.