Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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 定义类的。在元素拥有类之前单击_Javascript_Jquery - Fatal编程技术网

Javascript 定义类的。在元素拥有类之前单击

Javascript 定义类的。在元素拥有类之前单击,javascript,jquery,Javascript,Jquery,我有以下代码: 第一部分很好。 课程改变了,我看不出有什么问题。虽然当我试图点击它时,第二次。在课程改变之后。 没有反应。调试1不会弹出,firebug中没有控制台错误。无任何内容。在动态添加类时,应该委派事件,否则,由于页面加载时没有带有.fam.accept classNames的元素,jQuery无法找到/选择该元素 $(document).on('click', '.fam.accept', function(event){ // ... }); 请注意,事件绑定到元素而不是它

我有以下代码:

第一部分很好。 课程改变了,我看不出有什么问题。虽然当我试图点击它时,第二次。在课程改变之后。
没有反应。调试1不会弹出,firebug中没有控制台错误。无任何内容。

在动态添加类时,应该委派事件,否则,由于页面加载时没有带有.fam.accept classNames的元素,jQuery无法找到/选择该元素

$(document).on('click', '.fam.accept', function(event){
   // ...
});
请注意,事件绑定到元素而不是它们的类名,因此即使在删除页面\编辑类名时,也会执行第一次单击处理程序。如果您只需要更改类名,那么可以改用方法

$('.fam.page_edit').click(function(event){
    event.preventDefault();
    $(this).toggleClass('page_edit accept');
    // ...
});

在动态添加类时,应该委派事件,否则,由于页面加载时没有包含.fam.accept classNames的元素,jQuery无法找到/选择该元素

$(document).on('click', '.fam.accept', function(event){
   // ...
});
请注意,事件绑定到元素而不是它们的类名,因此即使在删除页面\编辑类名时,也会执行第一次单击处理程序。如果您只需要更改类名,那么可以改用方法

$('.fam.page_edit').click(function(event){
    event.preventDefault();
    $(this).toggleClass('page_edit accept');
    // ...
});

事件处理程序不会附加到任何元素,因为在执行时没有类为accept的元素。尝试在第一次单击事件后调用此单击函数

$('.fam.page_edit').click(function(event){
    event.preventDefault();
    $(this).removeClass('page_edit').addClass("accept");
    $('.fam.accept').click(function(event){
        event.preventDefault();
        $(this).removeClass('accept').addClass("add");
        alert("Debug 1.");
        $(this).parent().parent().removeClass("kaldt").addClass("skrevet");
    });
    $(this).parent().parent().removeClass("ikkeskrevet").addClass("kaldt");
});

事件处理程序不会附加到任何元素,因为在执行时没有类为accept的元素。尝试在第一次单击事件后调用此单击函数

$('.fam.page_edit').click(function(event){
    event.preventDefault();
    $(this).removeClass('page_edit').addClass("accept");
    $('.fam.accept').click(function(event){
        event.preventDefault();
        $(this).removeClass('accept').addClass("add");
        alert("Debug 1.");
        $(this).parent().parent().removeClass("kaldt").addClass("skrevet");
    });
    $(this).parent().parent().removeClass("ikkeskrevet").addClass("kaldt");
});

您需要事件委派。您需要事件委派。