Javascript “文本”;“摧毁”;帆布?

Javascript “文本”;“摧毁”;帆布?,javascript,css,html,canvas,Javascript,Css,Html,Canvas,我可能有一个很简单的问题: 我在我的HTML页面上创建了一个画布,并在上面画了一些东西。 现在我想在画布上放置一个普通的p-Text对象。 然而,当我使用x | y鼠标坐标画布插入一个新的p元素时,onmousemove(e)给了我和position:absolute设置,我在画布上的绘画就会“丢失”。画布元素变为白色 此外,画布不再对点击做出反应,因此我无法继续绘画。 对我来说,javascript似乎崩溃了,但Firebug和firefox错误控制台都没有显示任何错误。我不确定我知道你需要做

我可能有一个很简单的问题: 我在我的HTML页面上创建了一个画布,并在上面画了一些东西。 现在我想在画布上放置一个普通的p-Text对象。 然而,当我使用x | y鼠标坐标画布插入一个新的p元素时,onmousemove(e)给了我和position:absolute设置,我在画布上的绘画就会“丢失”。画布元素变为白色

此外,画布不再对点击做出反应,因此我无法继续绘画。
对我来说,javascript似乎崩溃了,但Firebug和firefox错误控制台都没有显示任何错误。

我不确定我知道你需要做什么。 我有一个现场演示,画布上画有矩形,我绑定了一个监听器来单击事件。当您单击画布时,新的HTMLParagraphElement将在当前鼠标位置的适当位置创建。演示可在以下网站获得:

假设,段落位置在css中定义为绝对,当然颜色属性应该不同于黑色或红色:)

嗯。在画布上画东西

var c = document.getElementById("c"),
    ctx = c.getContext( "2d" );

ctx.fillRect( 0, 0, 100, 100 );
ctx.fillStyle = "red";
ctx.fillRect( 22, 25, 25, 25 );
现在:

//without jquery
c.onclick = function( event ) {
  var e = window.event || event,
      p =document.createElement( "p" );

  p.innerHTML = "text";
  p.style.left = e.clientX + "px";
  p.style.top = e.clientY + "px";
  document.body.appendChild( p );
};
或者使用jQuery:

 $( c ).click( function( e ) {

    $( "<p>text</p>" ).css({
       left: e.pageX,
       top: e.pageY
    }).appendTo( "body" );

})
$(c)。单击(函数(e){
$(“text

”)css({ 左:e.pageX, 顶部:e.pageY }).附于(“主体”); })
我不知道你需要做什么。 我有一个现场演示,画布上画有矩形,我绑定了一个监听器来单击事件。当您单击画布时,新的HTMLParagraphElement将在当前鼠标位置的适当位置创建。演示可在以下网站获得:

假设,段落位置在css中定义为绝对,当然颜色属性应该不同于黑色或红色:)

嗯。在画布上画东西

var c = document.getElementById("c"),
    ctx = c.getContext( "2d" );

ctx.fillRect( 0, 0, 100, 100 );
ctx.fillStyle = "red";
ctx.fillRect( 22, 25, 25, 25 );
现在:

//without jquery
c.onclick = function( event ) {
  var e = window.event || event,
      p =document.createElement( "p" );

  p.innerHTML = "text";
  p.style.left = e.clientX + "px";
  p.style.top = e.clientY + "px";
  document.body.appendChild( p );
};
或者使用jQuery:

 $( c ).click( function( e ) {

    $( "<p>text</p>" ).css({
       left: e.pageX,
       top: e.pageY
    }).appendTo( "body" );

})
$(c)。单击(函数(e){
$(“text

”)css({ 左:e.pageX, 顶部:e.pageY }).附于(“主体”); })
想分享代码吗?最好是一个动态的HTML页面。看看这个:愿意分享代码吗?最好是一个实时的HTML页面。看看这个:好的,那就行了!但是我必须加上p.style.position='absolute'。好的。无论您如何分配position属性:)好的,这很有效!但是我必须加上p.style.position='absolute'。好的。无论如何分配位置属性:)