Javascript 单击事件不会发生

Javascript 单击事件不会发生,javascript,onclick,jquery,jquery-on,Javascript,Onclick,Jquery,Jquery On,嗨,谢谢你的阅读。我一直在试图避免使用HTMLonclick=“\uu”引用,而是将这些事件放在我的.js文件中。在阅读了jQuery的.click()和.on()事件之后,我尝试在代码中使用它作为按钮 编辑在我匆忙编写一个没有剩余内容的时,我输入了“name”而不是“id”。许多答案都建议我要么切换到p[name=p+或#p+参考,但我的主要问题是,在引用id/名称之前,我甚至无法触发警报。再次感谢您的回答 HTML: 当我单击按钮时,上面的代码甚至无法到达警报。我还尝试按名称和ID引用按钮,

嗨,谢谢你的阅读。我一直在试图避免使用HTML
onclick=“\uu”
引用,而是将这些事件放在我的.js文件中。在阅读了jQuery的.click()和.on()事件之后,我尝试在代码中使用它作为按钮

编辑在我匆忙编写一个没有剩余内容的
时,我输入了“name”而不是“id”。许多答案都建议我要么切换到
p[name=p+
#p+
参考,但我的主要问题是,在引用id/名称之前,我甚至无法触发警报。再次感谢您的回答

HTML:

当我单击按钮时,上面的代码甚至无法到达警报。我还尝试按名称和ID引用按钮,并按
$(document).ready($('.deleter'))\uuuuuuu

我尝试使用
$(处理程序)
格式,并在文档准备好后设置单击事件。这两种方法似乎都不起作用。此时,我求助于
onclick=“deleteButton()”
,在我的.js文件中有一个
deleteButton()
函数,但该函数不会检测到
$(此)
只需删除所有
标记即可

我的javascript的其余部分正在工作。我没有尝试在HTML的底部包含此
.on()
,但我也在尝试避免在HTML中使用脚本。为了完整性起见,我一直在Chrome和Firefox上测试,使用.jsp文件来呈现HTML

再次感谢

编辑

下面是我如何引用jquery和js,直接复制粘贴

<script type="text/javascript"
src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" src="javascript/index.js"></script>
</head>

下面是我的html在插入的div之前的外观:

<body>
    <div id="wrapper">
        <div id="header">Card Draw Probability Calculator</div>
        <div id="main">
            <div id="cardList">
                <fieldset>
                    <legend> Select cards for probability calculation</legend>

                        <div id="innerCardList"></div>

抽卡概率计算器
选择卡片进行概率计算
下面是如何生成

function newestCardListLineMaker() {
    var $newLine = $('<p id="newestPara"><input type="checkbox" name="new" value="none"/> <input class="cardText" type="text" maxlength="30" name="newestCard" /> Quantity <input type="text" maxlength="1" class="quantityText" name="newestQuant" /><button class="deleter" id="newestDelete">Delete</button><br/></p>');

    $("#innerCardList").append($newLine);
函数newestCardListLineMaker(){
var$newLine=$('

数量删除

); $(“#innerCardList”).append($newLine);

另一个注意事项,我以前应该看到它的重要性:
.click
.On(click,handler)
引用的HTML是由另一个js函数创建的。

对我来说,它是有效的。虽然没有删除段落元素,但是您的代码应该是这样的:

<p id="pBananas"> junk </p> 
<button class="deleter" id="dBananas" name="Bananas">Delete</button>

对我来说,它是有效的。但没有删除段落元素,因此您的代码应该如下所示:

<p id="pBananas"> junk </p> 
<button class="deleter" id="dBananas" name="Bananas">Delete</button>

<p id="pBananas"> junk </p> 
    <button class="deleter" id="dBananas" name="Bananas">Delete</button>​

    $(document).ready(function() {
        $('.deleter').click(function() {
            alert('click function works');
            $("#p" + $(this).attr("name")).hide();
        });
    });​
垃圾 删除​ $(文档).ready(函数(){ $('.deleter')。单击(函数(){ 警报(“单击功能工作”); $(“#p”+$(this.attr(“name”)).hide(); }); });​ 编辑

<p id="pBananas"> junk </p> 
    <button class="deleter" id="dBananas" name="Bananas">Delete</button>​

    $(document).ready(function() {
        $('.deleter').click(function() {
            alert('click function works');
            $("#p" + $(this).attr("name")).hide();
        });
    });​
垃圾 删除​ $(文档).ready(函数(){ $('.deleter')。单击(函数(){ 警报(“单击功能工作”); $(“#p”+$(this.attr(“name”)).hide(); }); });​ 编辑后的

尝试使用.on()函数,这样您的代码将是:

$(document).ready({
  $('.deleter').on('click', function(){
     //do stuff here
  });
});
更好的办法是:

$(document).ready({
   $('div_above_.deleter').on('click', '.deleter', function(){
     // do stuff here
   });
});
希望这对您有所帮助。

尝试使用.on()函数,这样您的代码将是:

$(document).ready({
  $('.deleter').on('click', function(){
     //do stuff here
  });
});
更好的办法是:

$(document).ready({
   $('div_above_.deleter').on('click', '.deleter', function(){
     // do stuff here
   });
});

希望这对您有所帮助。

我已经修改了您的javascript代码,请检查它

$('.deleter').click(function() {
        alert('click function works');
        var p="p"+$(this).attr("name");
        $('p[name='+p+']').remove();
});

我已经修改了你的javascript代码检查它

$('.deleter').click(function() {
        alert('click function works');
        var p="p"+$(this).attr("name");
        $('p[name='+p+']').remove();
});

我用来完成('click')事件的最后一个代码是:

$(document).ready(function() {
    $("div#innerCardList").on("click", "button.deleter", function() {
        var paraName = $(this).closest("p").attr("id");
        $("#" + paraName).remove();
    });

});
我想要分配点击事件的HTML元素是在页面加载之后生成的。我需要将事件委托给包含的div


感谢所有的帮助和不同的观点!

我用来完成('click')事件的最后一段代码是:

$(document).ready(function() {
    $("div#innerCardList").on("click", "button.deleter", function() {
        var paraName = $(this).closest("p").attr("id");
        $("#" + paraName).remove();
    });

});
我想要分配点击事件的HTML元素是在页面加载之后生成的。我需要将事件委托给包含的div


感谢所有的帮助和不同的观点!

检查您的演示您的代码似乎可以独立运行检查您的HTML文档中是否包含对jQuery的引用?另外,您的script.js文件是否在该引用下面?要删除该引用,可以是:
$([name=p”+$(this.attr(“name”)+“])。删除();
我可以在HTML页面中显示include js文件的代码吗?检查您的演示您的代码似乎可以独立运行检查您的HTML文档中是否包含对jQuery的引用?另外,您的script.js文件是否在该引用下面?要删除该文件,可以是:
$([name=p”+$(this.attr(“name”)+“])。删除()
我可以在HTML页面中显示include js文件的代码吗?我知道我可能不正确地引用了段落元素,但为什么不显示警报?很抱歉,不清楚-只显示了警报(对我来说,很奇怪,它确实显示了),只是在你的代码中,段落元素没有被删除,但当我测试你给出的确切代码时,却显示了警报。不幸的是,我的问题是,我甚至无法获得警报。我在上面进行了编辑,注意到包含的HTML是如何在页面加载后生成的。这可能是问题吗?我知道我可能有什么问题错误地使用了段落元素,但为什么警报不显示?很抱歉,不清楚-只有警报显示(对我来说,它确实显示了,很奇怪),只是在你的代码中,段落元素没有被删除,但当我测试你给出的确切代码时,警报确实显示出来了。不幸的是,我的问题是,我甚至无法获得警报。我在上面进行了编辑,注意到包含的HTML是如何在页面加载后生成的。这可能是问题吗?嗨,Sibu。你为什么隐藏ng而不是删除?另外…我尝试使用#p,但它仍然不会显示警报或隐藏@jasonlee remove()将