我想制作一个元素,在拖动时显示一个透明按钮,在放置时应该在指针所在的位置放置一个新按钮。
这是我的代码。
问题是我无法创建另一个按钮。也alert("Test")
没有执行。我不知道怎么了
我收到错误:
Uncaught TypeError: Cannot call method 'appendTo' of null
在铬。这就是为什么alert('test');
没有被执行。
你没有.css()
正确使用。访问.css() 上的 jQuery 页面以获取正确的语法。
这段代码似乎在做你想做的事(我收到“测试”警报,我可以创建多个按钮):
$('<button id="demo" class="default-button">Text</button>').css({left: x + "px", top: y + "px"}).appendTo('body');
[编辑] 为了进一步澄清和教导,.css()
用一个参数(不是对象)返回 CSS,即$('#id').css('top')
返回 CSS 中“top”的值。如果它是一个对象映射,就像我的解决方案或两个参数中使用的那样,它会设置这些值并返回对象以进行方法链接。
这就是你收到错误的原因。它正在返回“left 10px; top: 10px;”的 CSS 值 或者其他什么,你试图appendTo()
在那个字符串上做,因此是一个错误。