此代码适用于Webkit浏览器,但不适用于Firefox。我想我需要把#34;事件"在括号中的某个地方,但不确定如何以及在哪里......?
HTML
<div id="calendar_nav">
<span class="button-prev" role="button" onclick="javascript:reloadweek();" data-semana=<?php echo $weekprev; ?>>« Previous Week</span>
<span class="button-next" role="button" onclick="javascript:reloadweek();" data-semana=<?php echo $weeknext; ?>>Next Week »</span>
</div>
的jQuery
function reloadweek(){
/*console.log(event.target.dataset.semana)*/
var uploading = jQuery('div#uploading').html('<p><img width="60px" src="<?php echo get_template_directory_uri();?>/images/loading.gif"/></p>');
jQuery('#calendar').load("<?php echo get_template_directory_uri();?>/ajaxloader.php #calendar", {
'week': event.target.dataset.semana,
}, function() {
today()
})
}
答案 0 :(得分:0)
您的“onclick”属性应如下所示:
<span class="button-prev" role="button" onclick="reloadweek(event);" data-semana=<?php echo $weekprev; ?>>« Previous Week</span>
然后你的函数需要一个“event”参数:
function reloadweek(event){
“onclick”处理程序值javascript:
中没有任何意义。
使用jQuery设置事件处理程序真的会更好:
jQuery(document).on(".button-prev, .button-next", "click", function(event) {
var uploading = jQuery('div#uploading').html('<p><img width="60px" src="<?php echo get_template_directory_uri();?>/images/loading.gif"/></p>');
jQuery('#calendar').load("<?php echo get_template_directory_uri();?>/ajaxloader.php #calendar", {
'week': $(this).data("semana")
}, function() {
today();
});
});
处理程序中this
的值将(通过jQuery)绑定到单击的元素。然后你真的不需要event
,虽然jQuery会确保它通过。