Crossbrowser equivalent of explicitOriginalTarget event parameter

后端 未结 6 680
北海茫月
北海茫月 2020-12-02 00:00

Does anyone know of crossbrowser equivalent of explicitOriginalTarget event parameter? This parameter is Mozilla specific and it gives me the element that caused the blur. L

相关标签:
6条回答
  • 2020-12-02 00:02

    For IE you can use srcElement, and forced it.

    if( !selectTag.explicitOriginalTarget )
        selectTag.explicitOriginalTarget = selectTag.srcElement;
    
    0 讨论(0)
  • 2020-12-02 00:05

    Looks like it is more designed for extension writers than for Web design...

    I would watch the blur/focus events on both targets (or potential targets) and share their information.
    The exact implementation might depend on the purpose, actually.

    0 讨论(0)
  • 2020-12-02 00:11

    IE srcElement does not contain the same element as FF explicitOriginalTarget. It's easy to see this: if you have a button field with onClick action and a text field with onChange action, change the text field and move the cursor directly to the button and click it. At that point the IE srcElement will be the text field, but the explicitOriginalTarget will be the button field. For IE, you can get the x,y coordinates of the mouse click from the event.x and event.y properties.

    Unfortunately, the Chrome browser provides neither the explicitOriginalTarget nor the mouse coordinates for the click. You are left to your own devices to figure out where the onChange event was fired from. To do this, judicious use of mousemove and mouseout events can provide mouse tracking which can then be inspected in the onChange handler.

    0 讨论(0)
  • 2020-12-02 00:16

    There is no equivalent to explicitOriginalTarget in any of the other than Gecko-based browsers. In Gecko this is an internal property and it is not supposed to be used by an application developer (maybe by XBL binding writers).

    0 讨论(0)
  • 2020-12-02 00:27

    The rough equivalent for Mozilla's .explicitOriginalTarget in IE is document.activeElement. I say rough equivalent because it will sometimes return a slightly different level in the DOM node tree depending on your circumstance, but it's still a useful tool. Unfortunately I'm still looking for a Google Chrome equivalent.

    0 讨论(0)
  • 2020-12-02 00:29

    2015 update... you can use event.relatedTarget on Chrome. Such a basic thing, hopefully the other browsers will follow...

    0 讨论(0)
提交回复
热议问题