.click在jQuery对话框中没有为<p>标签触发</p>

时间:2013-03-15 14:59:06

标签: jquery

我遇到了.click函数在jQuery对话框中为

标记工作的问题。

我在jQuery对话框中有一个如下所示的p标记。

<p class="userColor" id="CMP|8|25691/XX|25691/59|59" style="text-decoration:underline;cursor:pointer;">59   - GRAPE</p>

DIV

<div id="colorPickerWindow" style="width: auto; min-height: 89px; max-height: none; height: auto;" class="ui-dialog-content ui-widget-content">
    <p class="userColor" id="CMP|8|25691/XX|25691/20|20" style="text-decoration:underline;cursor:pointer;">20   - RED</p>
</div>

我已经尝试过.click和.on并且我已经尝试使用选择器,但是我无法为P标签触发点击操作。

的jQuery

$(".userColor").on({
    click:function(){}            
});

在jQuery对话框中触发click事件的正确jQuery是什么?

2 个答案:

答案 0 :(得分:3)

这将有效:

$(document).on("click", ".userColor", function(){
 alert("yippie");
});

或者(如果动态加载内容,则单独单击将不起作用)

$(".userColor").click(function(){
 alert("yippie");
});

答案 1 :(得分:1)

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

$(document).on("click", ".userColor", function(event){
   //dostuff
});

来自.on() docs

  

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