dartを使用してアプリを開発していますが、クリックした要素の値を取得したいと考えています。すなわち:
HTML:
<div id="blah">Value!!</div>
ダーツ:
void main(){
query("#blah").onClick.listen(showValue);
}
void showValue(Event e){
//Get #blah's innerHtml based on the Event(Something like e.target.innerHtml or e.target.value)
}
誰?JSでそれを行う方法は知っていますが、DARTでそれを行う方法があるかどうか知りたいです!
編集
皆様のおかげで、もう少し明確にしようと思います。9つの要素を動的に生成し、それらをコンテナーに追加するループがあります。
コード:
var j = 0;
var optionsSquare = query("#optionsPanel");
while(j < 9){
DivElement minorSquare = new DivElement();
var minorSquareHeight = optionsSquare.clientHeight/3;
var minorSquareWidth = optionsSquare.clientWidth/3;
minorSquare
..attributes = {"class": "miniSugg"}
..style.width = (minorSquareWidth.round()-2).toString().concat("px")
..style.height = (minorSquareHeight.round()-2).toString().concat("px")
..style.float = "left"
..style.border = "1px solid"
..innerHtml = (j+1).toString();
..onClick.listen(showOptionsSquare);
optionsSquare.children.add(minorSquare);
j++;
}
@Pandianの方法を使用しようとすると機能しますが、ループ内の最後の要素の値しか取得できません。私が欲しいのは、どういうわけか、クリックされた要素を追跡し、その値を取得することです!
編集2
みんな、それを解決しました!
誰かがこの情報を必要とする場合は、ここのコードをリポジトリとして使用します。
void showOptionsSquare(Event e){
window.location.hash = "#optionsPanel";
mainDiv.style.opacity = (0.2).toString();
DivElement clicked = e.target;
window.alert(clicked.innerHtml);
}
[]の