Html dijit声明性事件处理程序
我试图声明一个Html dijit声明性事件处理程序,html,css,dojo,Html,Css,Dojo,我试图声明一个dijit文本框,但无法将focus事件附加到它 我试着以声明的方式这样做: <div class="midArea_div"> <div class="searchBox_div"> <input type="text" data-dojo-name="searchBox_input" data-dojo-type="dijit.form.TextBox
dijit文本框
,但无法将focus
事件附加到它
我试着以声明的方式这样做:
<div class="midArea_div">
<div class="searchBox_div">
<input type="text" data-dojo-name="searchBox_input" data-dojo-type="dijit.form.TextBox" data-dojo-props="placeHolder:'Search...'"class="searchBox"></input>
<script type="dojo/on" data-dojo-event="onFocus" data-dojo-args="evt">
alert("hi");
</script>
<div class="searchIcon_overlay"></div>
</div>
</div>
在您的声明性示例中,您使用的是
dojo/on
模块,它自己执行本机DOM事件的规范化。onFocus
回调是一个Dijit小部件构造(如果您想查看源代码,可以通过_FormMixin将其混合到_WidgetBase中),当小部件因其或其内部的小部件具有焦点或已被单击而变为“活动”时使用
您希望将与事件处理程序一起使用,如下所示:
<script type="dojo/on" data-dojo-event="focus" data-dojo-args="evt">
alert("hi");
</script>
警报(“hi”);
我看不出你的编程的示例有任何明显的错误,除了你调用
registry.byId(“searchBox\u input”)
时使用的ID(来自你的代码示例)并不存在。也许您应该将id
键添加到datadojoprops
或作为
节点上的属性。在您的声明性示例中,您使用的是dojo/on
模块,该模块执行其自身的本地DOM事件规范化。onFocus
回调是一个Dijit小部件构造(如果您想查看源代码,可以通过_FormMixin将其混合到_WidgetBase中),当小部件因其或其内部的小部件具有焦点或已被单击而变为“活动”时使用
您希望将与事件处理程序一起使用,如下所示:
<script type="dojo/on" data-dojo-event="focus" data-dojo-args="evt">
alert("hi");
</script>
警报(“hi”);
我看不出你的编程的示例有任何明显的错误,除了你调用
registry.byId(“searchBox\u input”)
时使用的ID(来自你的代码示例)并不存在。也许你应该给你的数据dojo道具添加一个id
键,或者在你的
节点上添加一个属性。你的提琴不会运行,因为JSFIDLE使用谷歌托管的dojo库,这会导致maqetta库上出现404。你的提琴不会运行,因为JSFIDLE使用谷歌托管的dojo库,这会导致maqetta libs上出现404。