问问题
1887 次
3 回答
2
$('#leftButton').click(function(e){
console.log('leftButton clicked ' + this.id);
click_e.preventDefault();
});
应该是 e.preventDefault();
于 2011-11-07T19:09:39.727 回答
0
在您尝试将事件附加到它之前,浏览器是否还没有完成将您的 HTML 添加到 DOM 中?
即,在这两行之间?
container.innerHTML = temp_innerHTML;
var $leftButton = $('#leftButton');
在这种情况下,也许你想用 .live() 附加事件,http: //api.jquery.com/live/
于 2011-11-07T19:11:47.320 回答
0
我个人更喜欢以这种方式添加我的事件处理程序:
function addMenuNavigation(container) {
var container = $(container).empty();
var titleBar = $('<div id="titleBar/>');
var leftButton = $('<a href="#">Image here</a>').mousedown(leftButtonMousedown).mouseup(leftButtonMouseup).click(leftButtonClick).appendTo(titleBar);
titleBar.appendTo(container);
}
function leftButtonMouseDown(e) { //mouse down handler
}
function leftButtonMouseUp(e) { //mouse up handler
}
function leftButtonClick(e) {
e.preventDefault();
// handle the click here
}
于 2011-11-07T19:50:39.323 回答