给出以下javascript(jquery)
$("#username").keyup(function () {
selected.username = $("#username").val();
var url = selected.protocol +
(selected.prepend == true ? selected.username : selected.url) + "/" +
(selected.prepend == true ? selected.url : selected.username);
$("#identifier").val(url);
});
Run Code Online (Sandbox Code Playgroud)
此代码基本上读取文本框(用户名),当键入时,它会重新构建在另一个文本框(标识符)中显示的URL.
这很好 - 它的功能没有问题.然而,它感觉"缓慢"和"迟钝".有没有更清洁/更快的方法来完成这项任务?
这是请求的HTML.
<fieldset class="identifier delta">
<form action="/authenticate/openid" method="post" target="_top" >
<input type="text" class="openid" id="identifier" name="identifier" readonly="readonly" />
<input type='text' id='username' name='username' class="left" style='display: none;'/>
<input type="submit" value="Login" style="height: 32px; padding-top: 1px; margin-right: 0px;" class="login right" />
</form>
</fieldset>
Run Code Online (Sandbox Code Playgroud)
标识符文本框仅具有基于按钮的超链接锚点设置的值.
缓存你的jquery对象......
var username = $('#username'),
identifier = $('#identifier');
username.keyup(function () {
selected.username = username.val();
var url = selected.protocol +
(selected.prepend == true ? selected.username : selected.url) + "/" +
(selected.prepend == true ? selected.url : selected.username);
identifier.val(url);
});
Run Code Online (Sandbox Code Playgroud)
您目前正在每次击键时搜索dom两次.
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |