Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Bootstrap3模式并不总是激活ajax代码_Javascript_Jquery_Ajax_Twitter Bootstrap 3 - Fatal编程技术网

Javascript Bootstrap3模式并不总是激活ajax代码

Javascript Bootstrap3模式并不总是激活ajax代码,javascript,jquery,ajax,twitter-bootstrap-3,Javascript,Jquery,Ajax,Twitter Bootstrap 3,我相信有一个简单的答案,我只是似乎无法解决它 我使用引导模式从指定的url返回ajax内容。(在加载之间使用$.removeData()删除内容) 问题在于,在模式中显示的表单的内容上运行JS 我目前正在使用最终文件(由ajax返回)中的(简化): 编辑:以及其他事件处理程序(包括模式内的datepicker),但此代码仅加载一次,然后在重新加载整个页面之前无法再次激活 关闭代码: $('#myModal, #myModalLg').on('hidden.bs.modal', function

我相信有一个简单的答案,我只是似乎无法解决它

我使用引导模式从指定的url返回ajax内容。(在加载之间使用$.removeData()删除内容)

问题在于,在模式中显示的表单的内容上运行JS

我目前正在使用最终文件(由ajax返回)中的(简化):

编辑:以及其他事件处理程序(包括模式内的datepicker),但此代码仅加载一次,然后在重新加载整个页面之前无法再次激活

关闭代码:

$('#myModal, #myModalLg').on('hidden.bs.modal', function (e) {
    $(e.target).removeData();
    $(e.target).off('shown.bs.modal');
    $('#myModal, #myModalLg').on('shown.bs.modal', function () {
        $(this).find(':input:first')[0].focus();
    });
});

我希望每次显示#myModalLg时处理程序都会运行,然后当它关闭时,它会删除已输入的内容并恢复,但每次似乎都不是这样运行的。

您从未关闭Showed.bs.modal。您在JQuery中查看过该事件吗:

我不确定这是否会有帮助,但似乎您多次重新定义了show.bs.modal,您可能希望将其更改为一而不是打开

$('#myModal, #myModalLg').one('shown.bs.modal', function () {
    $(this).find(':input:first')[0].focus();
});

你有没有考虑委托它(如果这个事件冒泡),例如:<代码> $(文档)。在(“隐藏.bS.Maldit”,'yyMyMaldia',y'MyMODALG',函数(e){…});<代码>?hidden.bs.modal代码每次都会运行,只有Showed.bs.modal代码在第二次加载时不会“刷新”。这似乎已经修复了它,一定发生了某种复制,如图所示。隐藏时关闭了bs.modal,但这似乎解决了问题!亲爱的,很高兴这一切对你有用!我正要跟进,如果还有问题,请告诉我
$('#myModal, #myModalLg').one('shown.bs.modal', function () {
    $(this).find(':input:first')[0].focus();
});