A technique for handling user-interface gestures in non-rectangular regions of a graphical user interface includes creating a class comprising an event handler for an onmouseover event and an event handler for an onmouseout event. The technique further includes adding each of a group of graphical elements to the class. Adding a graphical element to the class includes adding a reference to the graphical element to the class and attaching the event handlers to the graphical element. The technique then identifies a specific graphical element in the group that triggered an invocation of one of the event handlers. The technique then determines the closest border of the specific graphical element to the mouse pointer. In the event another graphical element in the group shares the closest border, the technique stops either the onmouseover or onmouseout event from propagating.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: in response to detecting a first user-interface gesture that indicates entry into a first graphical element in a group of graphical elements triggering a first event, propagating, using a processor of a computer, the first event to the group of graphical elements to change a behavior of the group of graphical elements to a behavior specific to the first graphical element, wherein the group of graphical elements forms a non-rectangular region; detecting a second user-interface gesture that indicates exit from the first graphical element triggering a second event; in response to determining that a closest border of the first graphical element is shared with a another graphical element in the group of graphical elements, delaying processing of the second event by a specific amount of time to allow movement over a gap between the first graphical element and the another graphical element, wherein the group of graphical elements retains the behavior while there is movement over the gap; and stopping propagation of the second event to the group of graphical elements, wherein the group of graphical elements retains the behavior; and in response to determining that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements, propagating the second event to the group of graphical elements to change the behavior of the group of graphical elements.
2. The method of claim 1 , wherein the determination that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements indicates exit from the group of graphical elements.
3. The method of claim 1 , wherein each graphical element in the group of graphical elements is a DOM node.
4. The method of claim 1 , wherein the first event is an onmouseover event.
5. The method of claim 1 , further comprising: determining a shared border between the first graphical element in the group of graphical elements and the another graphical element in the group of graphical elements using mouse coordinates.
6. The method of claim 1 , wherein the second event is an onmouseout event.
7. An apparatus comprising: a processor; and a storage device coupled to the processor, wherein the storage device stores program code, and wherein the processor executes the program code to perform operations, wherein the operations comprise: in response to detecting a first user-interface gesture that indicates entry into a first graphical element in a group of graphical elements triggering a first event, propagating the first event to the group of graphical elements to change a behavior of the group of graphical elements to a behavior specific to the first graphical element, wherein the group of graphical elements forms a non-rectangular region; detecting a second user-interface gesture that indicates exit from the first graphical element triggering a second event; in response to determining that a closest border of the first graphical element is shared with a another graphical element in the group of graphical elements, delaying processing of the second event by a specific amount of time to allow movement over a gap between the first graphical element and the another graphical element, wherein the group of graphical elements retains the behavior while there is movement over the gap; and stopping propagation of the second event to the group of graphical elements, wherein the group of graphical elements retains the behavior; and in response to determining that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements, propagating the second event to the group of graphical elements to change the behavior of the group of graphical elements.
8. The apparatus of claim 7 , wherein the determination that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements indicates exit from the group of graphical elements.
9. The apparatus of claim 7 , wherein each graphical element in the group of graphical elements is a DOM node.
10. The apparatus of claim 7 , wherein the first event is an onmouseover event.
11. The apparatus of claim 7 , wherein the operations further comprise: determining a shared border between the first graphical element in the group of graphical elements and the another graphical element in the group of graphical elements using mouse coordinates.
12. The apparatus of claim 7 , wherein the second event is an onmouseout event.
13. A computer program product, the computer program product comprising a non-transitory computer-readable storage medium having computer-usable program code embodied therein, the computer-usable program code, when executed by a processor of a computer causes the computer to perform: in response to detecting a first user-interface gesture that indicates entry into a first graphical element in a group of graphical elements triggering a first event, propagating the first event to the group of graphical elements to change a behavior of the group of graphical elements to a behavior specific to the first graphical element, wherein the group of graphical elements forms a non-rectangular region; detecting a second user-interface gesture that indicates exit from the first graphical element triggering a second event; in response to determining that a closest border of the first graphical element is shared with a another graphical element in the group of graphical elements, delaying processing of the second event by a specific amount of time to allow movement over a gap between the first graphical element and the another graphical element, wherein the group of graphical elements retains the behavior while there is movement over the gap; and stopping propagation of the second event to the group of graphical elements, wherein the group of graphical elements retains the behavior; and in response to determining that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements, propagating the second event to the group of graphical elements to change the behavior of the group of graphical elements.
14. The computer program product of claim 13 , wherein the determination that the closest border of the first graphical element is not shared with another graphical element in the group of graphical elements indicates exit from the group of graphical elements.
15. The computer program product of claim 13 , wherein each graphical element in the group of graphical elements is a DOM node.
16. The computer program product of claim 13 , wherein the first event is an onmouseover event.
17. The computer program product of claim 13 , wherein the computer-usable program code, when executed by the processor of the computer causes the computer to: determining a shared border between the first graphical element in the group of graphical elements and the another graphical element in the group of graphical elements using mouse coordinates.
18. The computer program product of claim 13 , wherein the second event is an onmouseout event.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
March 16, 2010
August 26, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.