2011-02-25 17 views
0

我正在开发基于Web的Kalendar应用程序(多用户)。应用程序已经准备就绪,但有一件事情不太好。我想给用户一次机会,多次标记。这就是为什么,我在每个领域都做了一个mousedown功能,还有一个mouseup功能。这样,我得到了第一个标记的领域,最后一个。中间的所有字段都可以通过id来计算! 现在的问题:当我移动鼠标时,浏览器标记文本。我想要另一个鼠标行为。我想让鼠标绘制一个矩形,以便用户看到他的起始位置,以便文档中的文本不被标记!这个非常重要。你知道吗,如何解决这个问题?我已经停用右键菜单,一个把我自己的菜单,但这是很难,我:(。我已经搜索与谷歌的网页,但实际上我真的不知道,哪些关键字可以帮助这里。WebPage上的鼠标行为 - 我不想标记文本

PS:我使用jQuery,也许它可以帮助在这种情况下

回答

4

这里有一个脚本来禁用文本选择:

http://www.dynamicdrive.com/dynamicindex9/noselect.htm

如果您有jQuery的,可以使用绑定,如:

$('#demo').bind('selectstart',function(e) { 
    e.preventDefault(); 
}); 

这里有一个的jsfiddle:

http://jsfiddle.net/Nk9ec/2/

+0

好吧,它似乎没有工作。我看了你的例子http://jsfiddle.net/Nk9ec/2/,但我也可以选择文本。 – Mischka 2011-02-25 08:51:04

+0

它适合我。您可能已将浏览器设置为忽略selectstart。我相信你可以在Firefox的高级Javascript框中执行此操作。 – Kranu 2011-02-26 07:24:48

0

OK,我发现,什么是错误的。您的代码仅适用于IE浏览器。我使用的是Firefox,并且我优化了我的应用程序到Firefox!现在好了,我设法禁止选择文本,与该功能:

$(document).ready(function() { 
    $(document)[0].oncontextmenu = function() {return false;} 
    $('#id').mousedown(function(event) { 
     checkClk(event); 
     return false; 
    }); 
}); 

功能checkClk(事件)控制点击的行为。 除了我设法让鼠标指针非标准指针与CSS:

body { 
    cursor: default; 
} 

所有我需要的是现在,要弄清楚,我怎么能画一个矩形,当我移动了谅解备忘录,抱着左按钮点击。我希望应用程序看起来像操作系统。 如果您单击并按住鼠标,则会出现一个矩形(如下所示:http://img21.imageshack.us/i/markiert.png/)。有谁知道,这是可能的,而不是一个div,其大小取决于Mouseposition?