当使用keyup更改输入文本字段时,我使用jquery执行了ajax脚本。这部分工作正常。但是,当表单在此输入文本字段中自动加载一些文本时,我还想触发相同的键盘事件。
我通过使用php从url(获取请求)填充表单来自动加载表单文本字段。
我的HTML代码:
<input id="code" name="code" type="text" />
我的JS:
$(document).ready(function () {
// doesn't work
// i want to execute the code in the function specified within $('#code').keyup(function () {} below. nothing happens here.
if ($('#code').val() != '') {
$('#code').trigger('keyup');
}
// works fine
$('#code').keyup(function () {
// function code
}
}
不确定我是否正确行事。如果有人能帮助我,我将不胜感激。谢谢! :)
答案 0 :(得分:5)
您需要触发keyup
(使用$('#code').trigger('keyup')
或$('#code').keyup()
), 绑定事件处理程序之后,而不是之前。
$(document).ready(function () {
$('#code').keyup(function () {
// function code
}
if ($('#code').val() != '') {
$('#code').trigger('keyup');
}
}
答案 1 :(得分:1)
您是否尝试过调用.keyup()
而不是.trigger('keyup')
?
你可以做的另一件事是将你要调用的代码抽象到另一个函数中并调用它而不是触发点击:
$('#code').keyup(myFunction);