我正在使用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);
当我们点按并按住文字时,如何从框中应用所选颜色的任何帮助。
先谢谢。
答案 0 :(得分:0)
看起来您正在将事件侦听器附加到字符串。
context = $(this).text();
context.addEventListener("touchstart", touchStartHandler, false);
...
尝试:
context = this;
context.addEventListener("touchstart", touchStartHandler, false);
...
假设这是一个DOM节点。这很难说。
否则,请提供http://jsfiddle.net您的问题。您的代码片段似乎不完整。