2

我正在尝试在 mouseup 和 mousedown 事件上替换 lastClick div 的文本,但此代码不起作用。有什么建议么?

$('document').on(

{mousedown: function(){ $('#lastClick').html('down');}}, 

{mouseup: function(){$('#lastClick').html('up');}}

); 

HTML

<body>
<div id='lastClick'>not clicked yet!</div>
</body>
4

4 回答 4

3

试试这个:

$('#lastClick').on('mousedown', function() {
    $(this).html('down');
});
$('#lastClick').on('mouseup', function() {
    $(this).html('up');
});​

看这个活生生的例子

于 2012-09-07T18:50:54.570 回答
3

删除您的报价

$(document).on(

{mousedown: function(){ $('#lastClick').html('down');}}, 

{mouseup: function(){$('#lastClick').html('up');}}

); 
于 2012-09-07T18:50:57.747 回答
3

尝试这个

HTML

<body>
   <div id='lastClick'>not clicked yet!</div>
</body>

JS代码

$(document).ready(function(){
   $('#lastClick').on(

  {mousedown: function(){ $(this).html('down');}}, 

  {mouseup: function(){$(this).html('up');}}

 ); 
});
于 2012-09-07T18:56:58.747 回答
2

尽管Philippe 发现了您的问题(周围不必要的引号document),但我确实认为您将事情复杂化了,尽管可能只是为了证明您的问题。但是,在这种情况下,您在代码中尝试执行的操作可以简单地复制为:

$(document).on('mousedown mouseup', function(e){
    $('#lastClick').text(e.type);
});​

JS 小提琴演示

如果您确实需要字符串为'up'or 'down',那么您可以通过字符串操作稍微修改上述内容:

$(document).on('mousedown mouseup', function(e){
    $('#lastClick').text(e.type.replace('mouse',''));
});​

JS 小提琴演示

于 2012-09-07T18:54:28.060 回答