Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.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
Php .在(';单击';)上不';不起作用,但所有其他处理程序都起作用_Php_Jquery_Ajax_Triggers_Click - Fatal编程技术网

Php .在(';单击';)上不';不起作用,但所有其他处理程序都起作用

Php .在(';单击';)上不';不起作用,但所有其他处理程序都起作用,php,jquery,ajax,triggers,click,Php,Jquery,Ajax,Triggers,Click,我最近问了一个关于触发动态创建的div的问题,并介绍了.on()函数 “keyup”很好,“mouseover”很好用,其他一些我已经测试过了,但“click”不会启动 我通过ajax和.php向div添加了信息,其中包含以下数据: function loadNewcomment(divID) { $.ajax({ url: templateUrl+"/enternote.php", cache: false, success: function(

我最近问了一个关于触发动态创建的div的问题,并介绍了.on()函数

“keyup”很好,“mouseover”很好用,其他一些我已经测试过了,但“click”不会启动

我通过ajax和.php向div添加了信息,其中包含以下数据:

function loadNewcomment(divID) {
$.ajax({
        url: templateUrl+"/enternote.php",
        cache: false,
        success: function(html){
            $("#"+divID).append(html);

        }
    });
}
$("#notebox").click( function() {
  alert("clicked");
});
我想为创建的div中的一个元素触发keyup,这段代码适用于:

$("#notebox").on('keyup', '.note-field', function(event){
    var thisString = $(this).val();
    $keyLength = thisString.length;
    $rowCount = Math.ceil($keyLength/40);
    $currentRow = $(this).attr("rows");

    if($currentRow < $rowCount){
        $(this).animate({rows:$rowCount},50);
    }        

});

您可以像这样使用“单击”:

function loadNewcomment(divID) {
$.ajax({
        url: templateUrl+"/enternote.php",
        cache: false,
        success: function(html){
            $("#"+divID).append(html);

        }
    });
}
$("#notebox").click( function() {
  alert("clicked");
});

动态DOM和jQuery是一个难题。我知道它已被弃用,但我在过去使用过,效果很好:


FWIW-您也可以尝试使用bind()-

我有一个.stopPropagation();在包含该div的代码中的其他地方,我暂时将其注释掉,它可以工作,谢谢。

是否可以在附加html后附加click事件

function loadNewcomment(divID) {
$.ajax({
        url: templateUrl+"/enternote.php",
        cache: false,
        success: function(html){
            $("#"+divID).append(html).bind('click', function() { /* Click event code here */ }); // id divID is #notebox

        }
    });
}

注释字段
输入字段吗?能否显示相关的HTML或JSFIDLE?如果
注释字段
是输入字段,请尝试使用
焦点
/
模糊
,而不是
单击
,具体取决于您想做什么。尝试更改
“#notebox”
文档
@SamuelCook,如果
键控
有效,则不会改变任何东西。
动态创建的div
==他不能。他正在创建DOM元素。事件不会触发这不会起作用。。。实际上,我正在寻找要单击的$('.note field'),但因为它是动态创建的。click无法识别它在DOM中。在上应该可以正常工作,但不能:/弃用的jquery 1.7。。。如前所述,它已从1.9A中删除,不推荐使用,但我在过去有过这样的实例:on不会为动态生成的元素触发。