gpt4 book ai didi

cursor - 如何将光标移动到Dart中的元素?

转载 作者:行者123 更新时间:2023-12-03 04:31:57 29 4
gpt4 key购买 nike

刚开始使用dartlang并扩展了一些项目示例。看来Element类上的focus方法不起作用,或者我未正确使用它。想要获得“专注于”“错误”的验证行为。这是我的代码...

#import('dart:html');

num rotatePos = 0;

var nameField;

const DEFAULT_VALUE = "Click here!";

void main() {

query("#text").text = DEFAULT_VALUE;

query("#submit").on.click.add(rotateText);
}

void rotateText(Event event) {
rotatePos += 360;

nameField = query("#name");

var textElement = query("#text");

String insertedName = nameField.value;

textElement.style.transition = "1s";
textElement.style.transform = "rotate(${rotatePos}deg)";

updateFromElement(textElement, insertedName);
}

void updateFromElement(Element textElement, String value) {

Element errorField = query("#errorValue");

if (value == "") {
errorField.text = "Text Field is empty, please insert a value!";
errorField.style.color = "red";
textElement.text = DEFAULT_VALUE;
textElement.focus();
} else {
textElement.text = value;
errorField.text = "";
}
}

Element.focus()似乎不起作用,或者我在这里误解了一些东西。还添加HTML文件以更好地理解:
<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>Sandbox</title>
<link rel="stylesheet" href="sandbox.css">
</head>
<body>
<h1>Sandbox</h1>

<p>Dart Sandbox</p>

Enter any text: <input type="text" id="name"> <input type="button" value="Submit" id="submit"> <div id="error"><p id="errorValue"></div>

<div id="container">
<p id="text"></p>
</div>

<script type="application/dart" src="web/sandbox.dart"></script>
<script src="http://dart.googlecode.com/svn/branches/bleeding_edge/dart/client/dart.js"></script>
</body>
</html>

最佳答案

我只是尝试模拟您所拥有的样本。在HTML中添加一些组件以大致创建相同的效果。我发现了您的问题:

var textElement = query("#text");
// ....
updateFromElement(textElement, insertedName);

您正在传递textElement,它是 <P>(段落)元素。不是文本字段。因此,您无法对其调用focus()。试试这个:
updateFromElement(nameField, insertedName);

关于cursor - 如何将光标移动到Dart中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12579322/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com