1

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

<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);

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

提前致谢。

4

1 回答 1

0

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

context = $(this).text();

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

尝试:

context = this;

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

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

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

于 2013-10-23T06:12:05.947 回答