Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 jQuery live()函数,用于大量使用ajax站点_Javascript_Jquery_Load_Live - Fatal编程技术网

Javascript jQuery live()函数,用于大量使用ajax站点

Javascript jQuery live()函数,用于大量使用ajax站点,javascript,jquery,load,live,Javascript,Jquery,Load,Live,我一直在寻找一种方法,确保在内容通过jQuery load载入和移出页面时,所有脚本都被相应地触发 到目前为止,最好的方法是使用live函数,但我无法让它在加载时触发函数,只能在加载元素时操作 例如 这将使textarea在keyup函数上正确执行,但不会触发初始的$('textarea')。keyup() 我该怎么做/有没有更好的方法来实现我的目标` 我已经完成了这一步,但一旦页面加载,我的初始调用就无法工作: $(document).ready(function(){ $(docum

我一直在寻找一种方法,确保在内容通过jQuery load载入和移出页面时,所有脚本都被相应地触发

到目前为止,最好的方法是使用live函数,但我无法让它在加载时触发函数,只能在加载元素时操作

例如

这将使textarea在keyup函数上正确执行,但不会触发初始的
$('textarea')。keyup()

我该怎么做/有没有更好的方法来实现我的目标`

我已经完成了这一步,但一旦页面加载,我的初始调用就无法工作:

$(document).ready(function(){
    $(document).on('keyup', 'textarea',function(){
        $(this).innerHeight(20 + (16 * ($(this).prop('scrollHeight') / $(this).css('line-height').replace('px', '') - 1.25)));
    });
    $('textarea').trigger('keyup');
});

首先,要使用
trigger()
触发事件

另外,不要使用
live()
,因为它已被弃用。而是在()上使用
。语法略有变化:

$(document).ready(function(){
    $(document).on('keyup', 'textarea', function(){
        $(this).innerHeight(20 + (16 * ($(this).prop('scrollHeight') / $(this).css('line-height').replace('px', '') - 1.25)));
    });
    $('textarea').trigger('keyup');
});
$(document).on('keyup','textarea',function)
中的选择器工作如下:

  • 文档
    中查找与
    文本区域
    匹配的元素(这也适用于页面加载后添加的元素)
  • 如果触发了
    keyup
    事件,则执行回调方法
  • 因此,您可以编写比
    文档
    更具体的内容来减少计算时间。例如:

    $('#myForm').on('keyup', 'textarea', function)
    

    首先,要使用
    trigger()
    触发事件

    另外,不要使用
    live()
    ,因为它已被弃用。而是在()上使用
    。语法略有变化:

    $(document).ready(function(){
        $(document).on('keyup', 'textarea', function(){
            $(this).innerHeight(20 + (16 * ($(this).prop('scrollHeight') / $(this).css('line-height').replace('px', '') - 1.25)));
        });
        $('textarea').trigger('keyup');
    });
    
    $(document).on('keyup','textarea',function)
    中的选择器工作如下:

  • 文档
    中查找与
    文本区域
    匹配的元素(这也适用于页面加载后添加的元素)
  • 如果触发了
    keyup
    事件,则执行回调方法
  • 因此,您可以编写比
    文档
    更具体的内容来减少计算时间。例如:

    $('#myForm').on('keyup', 'textarea', function)
    

    Alp的反应非常有效。当您使用
    trigger()
    时,处理程序会触发,因此我不明白您的错误是从哪里来的

    确保在加载了要填充的动态内容后,在文本区域上触发键控。如果使用jQuery的
    load()
    引入内容,则在回调函数中触发keyup


    阿尔卑斯山的反应非常有效。当您使用
    trigger()
    时,处理程序会触发,因此我不明白您的错误是从哪里来的

    确保在加载了要填充的动态内容后,在文本区域上触发键控。如果使用jQuery的
    load()
    引入内容,则在回调函数中触发keyup