Javascript change()在页面加载时激发

Javascript change()在页面加载时激发,javascript,jquery,uikit,Javascript,Jquery,Uikit,快速背景: 我有一个项目,一些开发人员在几年前做过,他的代码是一场噩梦,更不用说几乎所有的软件都过时了。项目中的JQuery仍然是1.5.2,但我能够使用JQuery的非冲突选项解决这个问题 但是,我仍然无法使change()函数正常工作-它在加载页面时触发。此外,出于某种奇怪的原因,On()函数也不起作用 以下是代码(正文下方): 这是非冲突函数(如果相关): var jQuery_3_2_1=$.noConflict(true); 我不知道这是否相关,但关于代码的一点是,以前的程序员决定

快速背景: 我有一个项目,一些开发人员在几年前做过,他的代码是一场噩梦,更不用说几乎所有的软件都过时了。项目中的JQuery仍然是1.5.2,但我能够使用JQuery的非冲突选项解决这个问题

但是,我仍然无法使change()函数正常工作-它在加载页面时触发。此外,出于某种奇怪的原因,On()函数也不起作用

以下是代码(正文下方):

这是非冲突函数(如果相关):


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");
});