如何检查游标是否在指定的标签之间

时间:2012-09-03 14:21:28

标签: javascript jquery internet-explorer tags cursor

formatted中有一些textarea文本,并且光标位于某个位置。我需要检查光标是否在某些特定标签之间。

实施例: 的 FOO |

isBetween(['b', 'strong']); // should return true in above case

function返回position cursor textareaIE(有一些isBetween()问题,但现在让我满意。所以,我需要的是function <p>qwer<b>ty|ui</b>op</p> isBetween(['p']); // should also return true, because the cursor in not only between 'b', it is between 'p' too

感谢您的帮助!

更新

{{1}}

1 个答案:

答案 0 :(得分:1)

您应该使用span标记将标记之间的空格括起来。 然后,在jQuery中,使用.mouseover()函数。

示例:

<b>TAG1</b>
<span id="spacer">&nbsp;</span>
<strong>TAG2</strong>

<script type="text/javascript">
    $("#spacer").mouseover(function(){
        //Do stuff
    });
</script>

跨度必须包含一些内容,因此将&nbsp;作为空格放在那里。

活小提琴示例:http://jsfiddle.net/PrruT/

<强>更新

我不打算为你做整个功能,但我会告诉你,你可以这样设置:

/* I'm assuming you can figure out how to get the cursor position on your own, represented by var cursor */

function isBetween(selectorOne, selectorTwo){
    var left = $(selectorOne).position().left; //Left position of the object
    var right = $(selectorTwo).position().left + $(selectorTwo).width(); //Right XY position of the object
    if (cursor > left && cursor < right)
        return true;
    else
        return false;
}