gpt4 book ai didi

jquery - 在 twitter bootstrap 模态表单中未触发 keyup 事件

转载 作者:行者123 更新时间:2023-12-04 22:44:31 26 4
gpt4 key购买 nike

我正在使用 Twitter Bootstrap。

我创建了一个模态窗口,它按预期被调用。

在这个模态里面,有一个表单:

<div id="initialSurveyInfo" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="modalId" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="modalId">Initial Survey Information</h3>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="surveyTitle">Survey Title :</label>
<div class="controls">
<input type="text" id="surveyTitle">
<span class="help-inline muted"><span class="char-limit">36</span> character(s) left</span>
</div>
</div>
<div class="control-group">
<label class="control-label" for="surveyDesc">Description:</label>
<div class="controls">
<textarea rows="5"></textarea>
</div>
</div>
</form>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal" aria-hidden="true">Cancel</a>
<a href="/createSurvey" class="btn btn-primary continue">Continue</a>
</div>
</div>

对于输入,用户只能输入 36 个字符。超过 36 个字符,我想禁用“继续”按钮。
我在输入旁边有当前字符数。

我处理这个问题的 jQuery 代码是:

$(document).ready(function() {

var calculate = function() {
var chararcters = $("#surveyTitle").val().length;

var remaining = 36 - characters;

if (remaining >= 0) {
$(".char-limit").val(remaining);
if ($(".continue").hasClass("disabled") === true) {
$(".continue").removeClass("disabled");
}
} else {
$(".continue").addClass("disabled");
}
};

$("#surveyTitle").keyup(calculate);
$("#surveyTitle").change(calculate);
});

不幸的是,keyup() 和 change() 事件/方法没有被触发。因此,剩余字符数不会减少,当超过字符数时,“继续”按钮也不会被禁用。
我将 keyup 替换为 on('keyup', function) - 这也不起作用。

关于如何响应 keyup 事件的任何想法 - 主要问题是在这种情况下如何更改“剩余字符数”?

我也在使用 AngularJS,但我不认为它有任何影响(模态窗口位于 AngularJS 根据之前的一些操作加载的 View 模板中)

最佳答案

终于找到解决办法了。 @sasi 的解决方案部分正确。

基本上,这个问题在这里讨论:https://github.com/twitter/bootstrap/issues/2380

解决方法如下:
替换

$("#surveyTitle").keyup(calculate);  

$("body").on('keyup', "#surveyTitle", calculate);  

关于jquery - 在 twitter bootstrap 模态表单中未触发 keyup 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15093112/

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