在 CakePHP 中将 jQuery 事件添加到 Ajax 链接中,我使用了以下方式,
<?php echo $this->Js->link(TITLE, array('controller' => 'CONTROLLER', 'action' => 'ACTION'), array('update' => '#DIV_ID', 'class' => 'FixAjaxReload') ); ?>
它变成了一个 HTML 链接和下面的 JQuery
jQuery('a.FixAjaxReload').on('click', FUNCTION);
另一方面,我需要在链接中添加一个事件,
(function(){jQuery("body").on('click', 'a.FixAjaxReload', function(event){
var linkTo = jQuery(this).attr('href');
if (navigator.appName.indexOf("Internet Explorer") > 0) {
window.location.hash = '!' + linkTo.replace(window.baseUrl, '/');
} else {
window.history.pushState('', linkTo, linkTo);
}
});})();
- 我在第二个事件中使用了选择器语法,因为链接可能由 ajax 调用加载
- 我在第一个事件中使用了其他语法(即没有更改 CakePHP 方式),因为如果我这样做了,该事件将被多次调用(以前的 Ajax 调用次数)
但有些他们不能一起工作
有任何想法吗???
提前致谢