Javascript change()在页面加载时激发
快速背景: 我有一个项目,一些开发人员在几年前做过,他的代码是一场噩梦,更不用说几乎所有的软件都过时了。项目中的JQuery仍然是1.5.2,但我能够使用JQuery的非冲突选项解决这个问题 但是,我仍然无法使change()函数正常工作-它在加载页面时触发。此外,出于某种奇怪的原因,On()函数也不起作用 以下是代码(正文下方): 这是非冲突函数(如果相关):Javascript change()在页面加载时激发,javascript,jquery,uikit,Javascript,Jquery,Uikit,快速背景: 我有一个项目,一些开发人员在几年前做过,他的代码是一场噩梦,更不用说几乎所有的软件都过时了。项目中的JQuery仍然是1.5.2,但我能够使用JQuery的非冲突选项解决这个问题 但是,我仍然无法使change()函数正常工作-它在加载页面时触发。此外,出于某种奇怪的原因,On()函数也不起作用 以下是代码(正文下方): 这是非冲突函数(如果相关): var jQuery_3_2_1=$.noConflict(true); 我不知道这是否相关,但关于代码的一点是,以前的程序员决定
var jQuery_3_2_1=$.noConflict(true);
我不知道这是否相关,但关于代码的一点是,以前的程序员决定使用JS字符串加载所有HTML。我应该注意的另一件事是,我试图检测uikit日期选择器值的变化
谢谢你的帮助
我加了一把小提琴:
另一次编辑:
另一编辑:
我附上完整的代码,希望有人能够理解它的错误-
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="uikit.docs.min.css" type="text/css">
<script language="javascript" src="https://getuikit.com/v2/vendor/jquery.js"></script>
<script language="javascript" src="https://getuikit.com/v2/docs/js/uikit.min.js"></script>
<script language="javascript" src="https://getuikit.com/v2/src/js/components/datepicker.js"></script>
<link href="example160/css/jquery.autocomplete.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="example160/js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="example160/js/jquery.autocomplete.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.slim.js"></script>
<script type="text/javascript">
var jQuery_3_2_1 = $.noConflict(true);
</script>
<script type="text/javascript">
jQuery_3_2_1(document).ready(function(){
jQuery_3_2_1("[id^=DepartureDay]").ready(function(){
jQuery_3_2_1("[id^=DepartureDay]").on('input',function(e){
alert('ff');
});
});
});
</script>
</head>
<body>
<form method="post">
<input type="text" name="DepartureDay1" id="DepartureDay1" data-uk-datepicker="{format:'DD.MM.YYYY'}" placeholder="mm/dd/yyyy" />
</form>
<div>TODO write content</div>
</body>
</html>
提供头衔
var jQuery_3_2_1=$.noConflict(true);
jQuery_3_2_1(文档).ready(函数(){
jQuery_3_2_1(“[id^=DepartureDay]”)。就绪(函数(){
jQuery_3_2_1(“[id^=DepartureDay]”)。on('input',function(e){
警报(“ff”);
});
});
});
TODO写入内容
不要使用$(文档)。ready()
,请尝试使用
$(window).on('load', function() {
$("input[id^=DepartureDay]").on('change',alert('dd');
});
编辑
var jQuery_3_2_1 = $.noConflict(true);
jQuery_3_2_1(document).ready(function(){
jQuery_3_2_1('[id^=DepartureDay]').on('input', function(){alert('dd');});
});
使用.on('change'…
)代替.on('input'…)
您还必须说function(){alert('dd');}
,而不仅仅是alert('dd')
,您试图使用调用alert('dd')
的结果作为更改处理程序
您可能希望将警报包装在函数中,并将该函数作为处理程序传递:
jQuery_3_2_1("input[id^=DepartureDay]").on("change", function() {
alert("dd");
});
尝试以下代码
textbox更改事件直到textbox失去焦点才会触发
这就是为什么我要发布这两个例子
jQuery\u3\u2\u1(文档).ready(函数(){
jQuery_3_2_1(“输入[id^='DepartureDay']”)。关于(“更改”,函数(){
警报(“您的更改事件正在运行!!!”;
});
});
jQuery_3_2_1(“输入[id^='DepartureDay2']”)。关于('change keyup paste',function()){
log('您的更改/键控事件正在工作!!!');
});
var jQuery_3_2_1=$.noConflict(true);
jQuery_3_2_1(“输入[id^=DepartureDay]”)。on('change',function(){alert('dd');});现在它根本不起作用了。@EliRotenberg您需要分享更多的细节以便我们可以提供帮助,您可以分享小提琴或代码片段吗?不幸的是,这是一个很大的问题,原因有两个:代码本身写得太差,根本不允许轻松解开,而且我不拥有该项目,因此无法自由发布代码。我将取消如果事实证明信息太少,人们无法提供帮助,请接受。@DhavalPankhaniya我添加了一个提琴。不起作用。我正在附加一个测试版非功能版本的代码:尝试新的编辑,看看是否有效,您还必须在JSFIDLE上添加jQuery库。该JSFIDLE中也可能出现错误:您没有包装乐趣您调用了ready()
,而不是ready(function(){…})
,并且还没有以您正在使用的名称导入jQuery。
var jQuery_3_2_1 = $.noConflict(true);
jQuery_3_2_1(document).ready(function(){
jQuery_3_2_1('[id^=DepartureDay]').on('input', function(){alert('dd');});
});
jQuery_3_2_1("input[id^=DepartureDay]").on("change", function() {
alert("dd");
});