该行为类似于React onChange事件中的问题,doesnt返回对象。然而,这是参考React工具箱和材料设计,我没有使用。
这种差异可以从Carbon的在线沙箱工具中看出。单选按钮的一个例子是http://react.carbondesignsystem.com/?selectedkind=radioButton&selectedstory=default&full=0&addons=1&stories=1&panelright=0&addonpanel=storybook%2fection%2fections-panel。单击该按钮并查看操作记录器面板中返回的结果。与在http://react.carbondesignsystem.com/中更改(不仅仅是单击)文本输入的结果相比较?selectedkind=textinput&selectedstory=default&full=0&addons=1&stories=1&panelright=0&addonpanel=storybook%2fection%2fections-panel。problem元素返回{event}作为第三个down元素,而good元素只返回一个包含{event}的元素。显然,碳只是沿着第一种元素传递。
下面是更改处理程序、ReactJSX和结果HTML。
handleChange(event) {
console.log(event)
const {name, value, type, checked} = event.target
this.setState({[name]: value})
}
<RadioButton
id="gender-male"
name="gender"
labelText="Male (Carbon)"
labelPosition="right"
value="male"
checked={this.state.gender === "male"}
onChange={this.handleChange}
/>
<div class="bx--radio-button-wrapper">
<input
id="gender-male"
name="gender"
type="radio"
class="bx--radio-button"
value="male"
>
<label for="gender-male"
class="bx--radio-button__label"
aria-label="Male (Carbon)">
<span class="bx--radio-button__appearance"></span>
<span class="">Male (Carbon)</span>
</label>
</div>
预期的行为是本地作用域包含具有名称、值、类型、检查等属性的事件对象。但是对于Carbon的RadioButton和Checkbox,本地作用域只包含元素值的平面文本,根本不包含对象。
全局作用域似乎确实包含完整的对象。但我不愿引用本地以外的内容,而且似乎必须这样做是错误的。
下面的代码直接来自carbon-components-react
库的RadioButton
组件。
handleChange = evt => {
this.props.onChange(this.props.value, this.props.name, evt);
};
来源
代码显示该事件作为第三个参数传递,紧跟在RadioButton
组件的值
和name
道具的内容之后。
handleChange(value, name, event) {
console.log(event)
const {type, checked} = event.target // Should not be needed anymore.
this.setState({[name]: value})
}
var elem = document.getElementById('div1'); var clickHandler = function(event){ // TO DO } elem.addEventListener('click',clickHandler,false); event对象包含很多信息 var elem = document.getElementById('div1')
8.3.1 事件和事件对象 事件是针对应用程序所发生的事情,并且需要应用程序对它做出响应或进行处理。Tkinter中定义了很多种事件,足以支持常见的 GUI 应用程序开发。 Tkinter 事件可以用特定形式的字符串来描述,称为事件模式。事件模式的一般形式是: <modifier-type-detail> 其中类型符 type 指定事件类型,最常用的类型有分别表示鼠标事件和键盘事件的 Butto
我的JavaFx FXML应用程序有问题。 当我在表单上选中复选框时,我想根据单击的复选框执行一个方法。是否有任何方法可以将复选框的名称传递给该方法,以便对其执行一些有条件的工作? 我有两个复选框,只能选择一个。当我单击其中一个时,应取消选择另一个,反之亦然。显然,下面的代码将无法工作,因此我希望传递被单击对象的名称。 任何帮助都将不胜感激,非常感谢。
事件 事件:用户与浏览器特定的交互瞬间。 事件对象 在触发DOM上的事件时,会产生一个事件对象Event,它包含了与事件相关的所有信息。如:事件的类型、导致事件的元素(当前元素)、以及其它与事件相关的信息。如鼠标操作事件中,包含了鼠标的位置。键盘操作事件中,包含了是否敲击了键盘等。 DOM中的事件对象 兼容DOM的浏览器会将 事件对象Event 传入事件处理程序中,无论指定事件处理程序的方式是什么
Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。(W3C) 事件对象会在事件被触发时获得,对象包含了当前事件的一些信息,如点击事件可以获取到点击的位置,键盘输入事件可以获取到按下的键。 1. 获取事件对象 在给 DOM 节点绑定事件时,需要传递一个事件处理器,其本质上是个函数,在事件触发时被调用。 在事件处理器被调用时,默认就会传递一个参数,这
在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。包括导致事件的元素、事件的类型以及其他与特定事件相关的信息。例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息。所有浏览器都支持event 对象,但支持方式不同。 13.3.1 DOM中的事件对象兼容DOM 的浏览器会将一个event 对象传入到
预览默认值 空函数
问题内容: 我希望一个事件在选中/未选中复选框时触发客户端: 基本上,我希望页面上的每个复选框都发生这种情况。这种触发点击并检查状态的方法可以吗? 我认为必须有一种更清洁的jQuery方式。有人知道解决方案吗? 问题答案: 绑定到事件而不是。但是,您可能仍然需要检查是否已选中该复选框: 绑定到 事件 而不是事件的主要好处是,并非所有对复选框的单击都会导致其更改状态。如果只想捕获导致复选框更改状态的