没有标签的元素可以有 onClick 功能吗? (反应)
Can an element with no tag have an onClick function? (Reactjs)
我有一个 header 元素:
<h2>☶ Today's Bills</h2>
我希望 ☶ (☶) 图标有一个 onClick 功能,但不给它一个标签,所以它保持在 <h2>
标签上。
我的方法是这样的
<h2> <onClick={somfunc}> ☶ </> Today's Bills</h2> // doesn't work
那么有办法吗?如果没有,有没有办法给 <h2>
标签的这一部分 onClick?
我不想将其设为 2 tag-elements 并写入 css 以使它们对齐,因为这可能会破坏其他内容。我比较新,所以不必这样做会更好。
那行不通,请使用一个元素(例如 span)
编辑:此 JSX 需要转换为 HTML 并且需要将事件绑定到实际元素。
这可以通过 CSS 完成,而无需插入另一个元素。
如果您绝对不想在 HTML 中插入额外的元素,那么您可以在元素之前使用伪元素。
这可以保存特殊字符并将指针事件设置为自动,而实际的 h 元素设置了指针事件 none。
h2 {
pointer-events: none;
}
h2::before {
content: "36";
pointer-events: auto;
}
<h2 onclick="alert('I have seen a click');">Today's Bills</h2>
[目前仅在 Edge/Chrome 上测试过]
但是,可能存在可访问性问题,因为我不确定每个屏幕 reader 都会宣布该特殊字符,因此使用特殊软件的人可能会错过点击它的可能性。
我有一个 header 元素:
<h2>☶ Today's Bills</h2>
我希望 ☶ (☶) 图标有一个 onClick 功能,但不给它一个标签,所以它保持在 <h2>
标签上。
我的方法是这样的
<h2> <onClick={somfunc}> ☶ </> Today's Bills</h2> // doesn't work
那么有办法吗?如果没有,有没有办法给 <h2>
标签的这一部分 onClick?
我不想将其设为 2 tag-elements 并写入 css 以使它们对齐,因为这可能会破坏其他内容。我比较新,所以不必这样做会更好。
那行不通,请使用一个元素(例如 span)
编辑:此 JSX 需要转换为 HTML 并且需要将事件绑定到实际元素。
这可以通过 CSS 完成,而无需插入另一个元素。
如果您绝对不想在 HTML 中插入额外的元素,那么您可以在元素之前使用伪元素。
这可以保存特殊字符并将指针事件设置为自动,而实际的 h 元素设置了指针事件 none。
h2 {
pointer-events: none;
}
h2::before {
content: "36";
pointer-events: auto;
}
<h2 onclick="alert('I have seen a click');">Today's Bills</h2>
[目前仅在 Edge/Chrome 上测试过]
但是,可能存在可访问性问题,因为我不确定每个屏幕 reader 都会宣布该特殊字符,因此使用特殊软件的人可能会错过点击它的可能性。