javascript - 启用禁用按钮的 Javascript 字计数器
问题描述
我想做的是;- 右箭头禁用,直到我开始输入 - 当我单击计算文本框中的单词并且图像更改为左箭头时 - 当我单击左箭头时重新开始进度。
现在它并没有真正显示结果,它只是显示一秒钟并更改图像,但会在一秒钟内自动重新启动所有内容,并且始终启用向右箭头按钮。
$(document).ready(function() {
$("input").click(function() {
var words = $.trim($("textarea").val()).split(" ");
document.getElementById("resultDiv").innerHTML = words.length;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="wordcounter">
<form action="" method="get" name="frm" onSubmit="TextCount();">
<!--Text Area-->
<textarea id="mytext"></textarea><br/>
<!--Image Flipped Here-->
<input type="image" id="submit" src="imgs/arrow_button_metal_green_right_T.png" alt="Submit" onclick="document.getElementById('submit').src='imgs/arrow_button_metal_green_left_T.png'">
<br/>
<!--Result-->
<div id="resultDiv">0</div> Characters
</form>
</div>
解决方案
如果用户使用标签或其他东西,最好使用焦点而不是点击。
$(document).ready(function() {
$('input').blur(function () {
$('#submit').attr("disabled", "disabled");
});
$("input").focus(function () {
$('#submit').prop('disabled', false);
var words = $.trim($("textarea").val()).split(" ");
$("#resultDiv").innerHTML = words.length;
});
$("#submit").click(function(){
var imageSource = $(this).attr('src');
if(imageSource == "imgs/arrow_button_metal_green_left_T.png"){
$(this).attr("src","imgs/arrow_button_metal_green_right_T.png");
}else{
$(this).attr("src","imgs/arrow_button_metal_green_left_T.png");
}
});
});
您可以使用 jQuery 更轻松地获得 resultDiv。
推荐阅读
- ruby-on-rails - 如何创建 Rails 表单以批量创建记录,每个记录都包含直接上传到 S3 的 Active Storage 附件?
- c++ - 将 UART 寄存器 UDR0 与无符号字符数组进行比较
- email - Gmail 如何让用户使用自己的自定义电子邮件
- python - 拆分项目列表以将列表变为列表
- asp.net-mvc - 响应状态码不表示成功:天蓝色管道上的“恢复”任务中的 401
- laravel - 如何在 darryldecode/laravelshoppingcart 中添加自定义(不同尺寸)产品?
- angular - 尝试获取资源时拦截 404 错误
- cmd - Windows 7 cmd:UTF-8 点显示为块。chcp 65001 没有区别。问题是什么?
- python - Scrapy-Splash 停止响应某些链接
- c# - C# VSTO Powerpoint 添加文本作为字段