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事件_Javascript_Jquery_Post_Get_Onclick - Fatal编程技术网

Javascript 一个页面上有多个Jquery事件

Javascript 一个页面上有多个Jquery事件,javascript,jquery,post,get,onclick,Javascript,Jquery,Post,Get,Onclick,我对Jquery非常陌生,需要帮助才能在同一页面上运行几个事件。我有两部分事件,一部分是.get,它将数据传递到文件,然后显示检索到的数据,这发生在页面加载时。第二部分是单击按钮时发送和接收数据的单击事件 这些事件都可以根据需要工作,但是如果我在一个页面上有两个部分,那么点击事件就不能工作。下面是我的代码,我希望有人知道如何让他们都工作?谢谢 <script type="text/javascript"> $.get("/layout/standard/check.php"

我对Jquery非常陌生,需要帮助才能在同一页面上运行几个事件。我有两部分事件,一部分是.get,它将数据传递到文件,然后显示检索到的数据,这发生在页面加载时。第二部分是单击按钮时发送和接收数据的单击事件

这些事件都可以根据需要工作,但是如果我在一个页面上有两个部分,那么点击事件就不能工作。下面是我的代码,我希望有人知道如何让他们都工作?谢谢

<script type="text/javascript"> 
    $.get("/layout/standard/check.php", { url: "domain"}, function(data){
        $("#content-area").html(data)
    });

    $(".discuss").click( function() {
        $.post('/layout/standard/report-action.php', {form: "discuss"},function(data){
        $(".message").html(data);
        $(".message").show("slow");
    });
    });
    $(".request").click( function() {
        $.post('/layout/standard/report-action.php', {form: "request"},function(data){
        $(".message").html(data);
        $(".message").show("slow");
    });
    });
    $(".report").click( function() {
        $.post('/layout/standard/report-action.php', {form: "report"},function(data){
        $(".message").html(data);
        $(".message").show("slow");
    });
    });
</script>

$.get(“/layout/standard/check.php”,{url:“domain”},函数(数据){
$(“#内容区”).html(数据)
});
$(“.discussion”)。单击(函数(){
$.post('/layout/standard/report action.php',{form:“discussion”},函数(数据){
$(“.message”).html(数据);
$(“.message”).show(“慢”);
});
});
$(“.request”)。单击(函数(){
$.post('/layout/standard/report action.php',{form:“request”},函数(数据){
$(“.message”).html(数据);
$(“.message”).show(“慢”);
});
});
$(“.report”)。单击(函数(){
$.post('/layout/standard/report action.php',{form:“report”},函数(数据){
$(“.message”).html(数据);
$(“.message”).show(“慢”);
});
});

我相信我已经找到了它不起作用的原因,onclick链接是通过get事件放在页面上的。如果按钮已经在页面上,那么它们似乎可以工作,但如果以这种方式插入,则无法工作


这对我来说没有意义,因为按钮仍然作为链接使用,没有问题……

如果事件附加到动态创建的内容上,您可能需要委派事件。尝试替换:

$(".discuss").click( function() {
与:


继续你所有的活动。您可以用另一个选择器替换
“正文”
选择器,只要它始终存在于文档中。

尝试委派。。并将代码放入document.ready函数中

$(function() {
    $.get("/layout/standard/check.php", {
        url: "domain"
    }, function(data) {
        $("#content-area").html(data)
    });

    $("body").on('click','.discuss,.request,.report',function() {
        $.post('/layout/standard/report-action.php', {
            form: $(this).attr('class') //this is assuming you only have 1 class per element
        }, function(data) {
            $(".message").html(data);
            $(".message").show("slow");
        });
    });
});​

控制台中有错误吗?我有一个控制台错误,但我不知道它是否相关:uncaughttypeerror:Object[Object Object]没有“on”方法
$(function() {
    $.get("/layout/standard/check.php", {
        url: "domain"
    }, function(data) {
        $("#content-area").html(data)
    });

    $("body").on('click','.discuss,.request,.report',function() {
        $.post('/layout/standard/report-action.php', {
            form: $(this).attr('class') //this is assuming you only have 1 class per element
        }, function(data) {
            $(".message").html(data);
            $(".message").show("slow");
        });
    });
});​