Skip to content

Commit 601e73e

Browse files
Add pointerenter/leave to nonBubblingEvents (#43542)
* Add pointerenter/leave to nonBubblingEvents Should fix #43129 * Add e2e test * Update JS "binaries" Co-authored-by: Steve Sanderson <[email protected]>
1 parent e3509ec commit 601e73e

File tree

5 files changed

+28
-2
lines changed

5 files changed

+28
-2
lines changed

src/Components/Web.JS/dist/Release/blazor.server.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Components/Web.JS/dist/Release/blazor.webview.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Components/Web.JS/src/Rendering/Events/EventDelegator.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ const nonBubblingEvents = toLookup([
2424
'loadstart',
2525
'mouseenter',
2626
'mouseleave',
27+
'pointerenter',
28+
'pointerleave',
2729
'pause',
2830
'play',
2931
'playing',

src/Components/test/E2ETest/Tests/EventTest.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,27 @@ public void MouseEnterAndMouseLeave_CanTrigger()
104104
Browser.Equal("mouseenter,mouseleave,", () => output.Text);
105105
}
106106

107+
[Fact]
108+
public void PointerEnterAndPointerLeave_CanTrigger()
109+
{
110+
Browser.MountTestComponent<MouseEventComponent>();
111+
112+
var input = Browser.Exists(By.Id("pointerenter_input"));
113+
114+
var output = Browser.Exists(By.Id("output"));
115+
Assert.Equal(string.Empty, output.Text);
116+
117+
// Pointer enter the button and then pointer leave
118+
Browser.ExecuteJavaScript($@"
119+
var pointerEnterElement = document.getElementById('pointerenter_input');
120+
var pointerEnterEvent = new PointerEvent('pointerenter');
121+
var pointerLeaveEvent = new PointerEvent('pointerleave');
122+
pointerEnterElement.dispatchEvent(pointerEnterEvent);
123+
pointerEnterElement.dispatchEvent(pointerLeaveEvent);");
124+
125+
Browser.Equal("pointerenter,pointerleave,", () => output.Text);
126+
}
127+
107128
[Fact]
108129
public void MouseMove_CanTrigger()
109130
{

src/Components/test/testassets/BasicTestApp/MouseEventComponent.razor

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
<p>
1313
Mouseenter: <input id="mouseenter_input" type="text" @onmouseenter="OnMouseEvent" @onmouseleave="OnMouseEvent" />
1414
</p>
15+
<p>
16+
Pointerenter: <input id="pointerenter_input" type="text" @onpointerenter="OnPointerEvent" @onpointerleave="OnPointerEvent" />
17+
</p>
1518
<p>
1619
<span id="mousemove_input" @onmousemove="OnMouseEvent">Mousemove city!</span>
1720
</p>

0 commit comments

Comments
 (0)