0

DOM ノードでカスタム属性を使用するコードに取り組んでいます。これらは、使用される特定のロジックに必要です。カスタム属性は、ドロップダウンやテキスト入力フィールドなどの入力要素に設定され、その形式は...

<input type="text" myCustomId="blah"...

これはすべて、標準の HTML 入力で正常に機能します。ただし、特定のルック アンド フィールを実現するために、標準入力の代わりにいくつかの Dijit ウィジェットを使用することを検討しています。DOM は onLoad で解析され、ウィジェットがロードされます (data-dojo-type を設定してウィジェットを指定します)。問題は、Dojo/Dijit がカスタム属性を保存しないことです。それらは解析中に失われます。

Dijit ウィジェットが使用するカスタム属性を指定することはできますか?

編集:

問題を際立たせるサンプル HTML を次に示します。「カスタム」属性が失われています...

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://dojotoolkit.org/reference-guide/1.9/_static/js/dijit/themes/claro/claro.css">
<script>dojoConfig = {parseOnLoad: true}</script>
<script src="http://dojotoolkit.org/reference-guide/1.9/_static/js/dojo/dojo.js">    </script>
<script>require(["dojo/parser", "dijit/form/TextBox"]);</script>
</head>
<body class="claro">
<label for="firstname">Test: </label>
<input type="text" name="firstname" custom="test" value="testing testing"
data-dojo-type="dijit/form/TextBox"
data-dojo-props="trim:true, propercase:true" id="firstname" />
</body>
</html>
4

3 に答える 3

1

この記事に基づいて解決策を見つけました...

http://dojotoolkit.org/features/1.6/html5data-attributes

基本的に、カスタム属性の前に「data-」を追加すると、Dojo パーサーはカスタム属性をウィジェットに保持します。アトリビュートをウィジェットの最上位ノードに配置するわけではありませんが、検索するには十分です。

于 2013-08-28T11:09:00.127 に答える