。单击不为<;p>;jQuery对话框中的标记

。单击不为<;p>;jQuery对话框中的标记,jquery,Jquery,我遇到问题。单击函数在jQuery对话框中处理标记 <p class="userColor" id="CMP|8|25691/XX|25691/59|59" style="text-decoration:underline;cursor:pointer;">59 - GRAPE</p> 我在jQuery对话框中有一个如下所示的p标记 <p class="userColor" id="CMP|8|25691/XX|25691/59|59" style="text

我遇到问题。单击函数在jQuery对话框中处理标记

<p class="userColor" id="CMP|8|25691/XX|25691/59|59" style="text-decoration:underline;cursor:pointer;">59   - GRAPE</p>
我在jQuery对话框中有一个如下所示的p标记

<p class="userColor" id="CMP|8|25691/XX|25691/59|59" style="text-decoration:underline;cursor:pointer;">59   - GRAPE</p>
在jQuery对话框中触发单击事件的正确jQuery是什么?

这将起作用:

$(document).on("click", ".userColor", function(){
 alert("yippie");
});
或者(如果动态加载内容,则单独单击将不起作用)

这将有助于:

$(document).on("click", ".userColor", function(){
 alert("yippie");
});
或者(如果动态加载内容,则单独单击将不起作用)


如果您的内容是动态加载的,请使用此格式的
.on()

从:

事件处理程序仅绑定到当前选定的元素;他们 在代码调用.on()时页上必须存在。 要确保元素存在并且可以选择,请执行事件 在文档就绪处理程序中为 页面上的HTML标记。如果新的HTML被注入到页面中, 选择元素并在创建新HTML后附加事件处理程序 放入页面中


如果您的内容是动态加载的,请使用此格式的
.on()

从:

事件处理程序仅绑定到当前选定的元素;他们 在代码调用.on()时页上必须存在。 要确保元素存在并且可以选择,请执行事件 在文档就绪处理程序中为 页面上的HTML标记。如果新的HTML被注入到页面中, 选择元素并在创建新HTML后附加事件处理程序 放入页面中


。单击不起作用,因为我正在动态加载包含内容的div。确定吗?您没有指定该信息,所以第一个应该起作用?是吗?是的,您仍然需要使用document。虽然这是一种可能的方法,但一般来说,根本不需要使用document来实现这一点——因为内容是动态加载的,所以只要在元素加载完成后在正确的时间附加侦听器即可。这个特定的时间点取决于添加元素所使用的方法,但jquery提供了该方法的回调-只需将“click attaching logic”放在该回调下,您就可以了。click不起作用,因为我正在用内容动态加载div。好吧,您没有指定该信息,所以第一个应该起作用?是吗?是的,您仍然需要使用document。虽然这是一种可能的方法,但一般来说,根本不需要使用document来实现这一点——因为内容是动态加载的,所以只要在元素加载完成后在正确的时间附加侦听器即可。这个特定的时间点取决于添加元素所使用的方法,但是jquery提供了该元素的回调-只需将“click attaching logic”放在该回调下,您就可以在$(document)中找到可能重复的I。ready(function(){}realm,我仍然使用$(document)吗?@Kris.Mitchell:一个与另一个无关。请阅读有关委派事件处理程序的文档。是的,
(文档)。ready(
代码只在DOM准备好后执行jQuery。如果您正在动态地将元素加载到页面中,如您所说,则需要使用.on()将事件绑定到它们按照我展示的方式。我已经在$(document).ready(function(){}域中,我是否仍然使用$(document)?@Kris.Mitchell:一个与另一个无关。阅读有关委托事件处理程序的文档。是的,
(document).ready(
code只在DOM就绪后执行jQuery。如果您正在动态地将元素加载到页面中,就像您所说的那样,那么您需要使用.on()将事件绑定到它们,就像我展示的那样。
$(".userColor").click(function(){
 alert("yippie");
});
$(document).on("click", ".userColor", function(event){
   //dostuff
});