如何在Modal窗口中执行jquery?

时间:2013-02-26 07:21:07

标签: jquery modal-dialog

文本字段的状态集中时,我需要触发一些操作。

如果textfield是标准的内联元素,则此代码可以正常工作(测试)。 但如果文本字段位于模态窗口内,则无效。我想在加载jquery库时隐藏了模态窗口,然后是问题。

我怎样才能使这个工作?

    $('#name').focus(function() {
console.log('do something');
}); 

1 个答案:

答案 0 :(得分:1)

  

我想在jQuery时隐藏了模态窗口   加载库然后问题。

你猜对了,可能是你在某个事件之后加载模态对话框的内容。

现在代码:

$('#name').focus(function() {
console.log('do something');
}); 

可能附加到$(document).ready()事件,该事件在每次加载新文档时触发但在ajax调用完成时不会触发

要解决此问题,您需要为将运行所需功能的对话框的加载事件附加委托。 请参阅API或LIVE,具体取决于您的jQuery版本http://api.jquery.com/on/

如果您愿意,您可以为每个点击事件使用通用委托,并在每次点击后尝试附加您的焦点事件:

$(document).on("click", "#name", function() {
    $(this).focus(function() {
        console.log('do something');
    });
});

这将尝试在每次单击后将焦点函数附加到#name元素,即#name元素是否存在。