jQuery onclick 处理程序不工作
jQuery onclick handler doesn't work
我正在使用 MetroUI CSS
从数据库行创建 ListView
:
<?php
use Phalcon\Mvc\Controller;
class loadReservationTablesController extends Controller
{
public function indexAction(){
$request = $this->request;
if ($request->isPost() == true) {
if ($request->isAjax() == true) {
$critere = array();
$critere['salle_code'] = $_POST['salle_code'];
$ret = ReservationTable::lireParCritere($critere);
if ($ret->count() > 0) {
$html = '';
foreach ( $ret as $key => $val ) {
$html .= '<div class="list">
<div class="list-content" id="table_'.$ret[$key]->table_code.'">
<span class="list-subtitle">'.$ret[$key]->table_lib.'</span>
<span class="list-remark">'.$ret[$key]->reserver.'</span>
</div>
</div>';
}
echo $html;
}
else {
echo '<br/><div class="sub-header">No records to display</div>';
}
}
}
$this->view->disable();
}
}
在视图中:
$(document).ready(function() {
$("div[id^='table_']").on("click", function(){
alert("uuuuuu");
});
});
在运行时不显示警报,并且控制台不包含任何错误;甚至日志文件也没有错误。当我右键单击该页面以查看其源代码时,记录不在!那么如何解决呢?
因为它是动态添加的 element
通过 event delegation
添加事件:
$(document).ready(function() {
$(document).on("click","div[id^='table_']", function(){
alert("uuuuuu");
});
});
您需要调用一个声明该操作的函数。
function reDeclare(){
$("div[id^='table_']").on("click", function(){
alert("uuuuuu");
});
});
}
动态生成元素后调用该函数。
我正在使用 MetroUI CSS
从数据库行创建 ListView
:
<?php
use Phalcon\Mvc\Controller;
class loadReservationTablesController extends Controller
{
public function indexAction(){
$request = $this->request;
if ($request->isPost() == true) {
if ($request->isAjax() == true) {
$critere = array();
$critere['salle_code'] = $_POST['salle_code'];
$ret = ReservationTable::lireParCritere($critere);
if ($ret->count() > 0) {
$html = '';
foreach ( $ret as $key => $val ) {
$html .= '<div class="list">
<div class="list-content" id="table_'.$ret[$key]->table_code.'">
<span class="list-subtitle">'.$ret[$key]->table_lib.'</span>
<span class="list-remark">'.$ret[$key]->reserver.'</span>
</div>
</div>';
}
echo $html;
}
else {
echo '<br/><div class="sub-header">No records to display</div>';
}
}
}
$this->view->disable();
}
}
在视图中:
$(document).ready(function() {
$("div[id^='table_']").on("click", function(){
alert("uuuuuu");
});
});
在运行时不显示警报,并且控制台不包含任何错误;甚至日志文件也没有错误。当我右键单击该页面以查看其源代码时,记录不在!那么如何解决呢?
因为它是动态添加的 element
通过 event delegation
添加事件:
$(document).ready(function() {
$(document).on("click","div[id^='table_']", function(){
alert("uuuuuu");
});
});
您需要调用一个声明该操作的函数。
function reDeclare(){
$("div[id^='table_']").on("click", function(){
alert("uuuuuu");
});
});
}
动态生成元素后调用该函数。