当我们使用jquery点击并按住文本时,选择不同颜色的文本?

时间:2013-10-23 05:06:01

标签: jquery html5 selection colorbox

我正在使用HTML5和Jquery开发一个Web应用程序。当我们点击并按住设备中的文本时,我正在尝试通过用户选择选择具有不同颜色的文本。默认情况下,当我们点击并按住文本时,它将选择浅蓝色。我想将该颜色更改为不同的颜色(用户的选择)。用于选择我正在使用的颜色

<label>Color: <input type="color" class="strokeColor" value="black"></label> 

当我点击此<input>时,会打开一个包含该框颜色的框,我正在选择一种颜色来选择文字。

 var strokeColorSel, strokeWidthSel;
var strokeColor;        //line color
var strokeWidth = 5;    //line width
var isMoved = false;    //flag for displaying when simple touching
    var context;
//touch events handler
strokeColorSel = document.querySelector(".strokeColor");
context = $(this).text();

        context.addEventListener("touchstart", touchStartHandler, false);
        context.addEventListener("touchend", touchEndHandler, false);
        context.addEventListener("touchmove", touchMoveHandler, false);

        //Apply eventHandler
        strokeColorSel.addEventListener("change", changeStrokeColor, false);

通过使用上面的代码,我选择了颜色,但当我点击并按住文本时,颜色不适用于文本。

我的文字在此

chapterHTML += '<p id="text"><sup>'+ (i+1) +'</sup> '+ vers.text() +'</p>';

$("#text").bind("taphold", touchStartHandler);

当我们点按并按住文字时,如何从框中应用所选颜色的任何帮助。

先谢谢。

1 个答案:

答案 0 :(得分:0)

看起来您正在将事件侦听器附加到字符串。

context = $(this).text();

context.addEventListener("touchstart", touchStartHandler, false);
...

尝试:

context = this;

context.addEventListener("touchstart", touchStartHandler, false);
...

假设这是一个DOM节点。这很难说。

否则,请提供http://jsfiddle.net您的问题。您的代码片段似乎不完整。