我显式地不是寻找remove()
函数。
与DOM无关的jQuery-Object可以使用以下方法创建:
let $element = $('<div>').addClass('myInvisibleDomObject').text('Test');
这个不相关的对象在按键时被附加到我的DOM中,但是在释放按键时应该被取消附加。
我用这个静态对象来表示摄像头访问。所以我的对象是一个视频元素,包含流数据、视频源代码等。所以它比上面的代码示例要复杂一些。我不想克隆视频对象或创建一个新的流,因为这样做会很慢。
我已经试过appendTo(null)
了,但是不起作用。简单的隐藏不是解决办法,因为一些html是通过xhr请求按需替换的。我想要一个干净的解决方案,不要附加到其他一些对象,比如<body>
或类似的东西。
示例:
// $element is the element from above
// .cameraPreview is some div inside my DOM
$(document).keydown(function(event: JQuery.Event) {
$element.appendTo('.cameraPreview');
});
$(document).keyup(function(event: JQuery.Event) {
$element.unappendFrom('.cameraPreview'); // this does not exist
});
1条答案
按热度按时间oo7oh9g91#
.detach()
怎么样?detach()方法与.remove()方法相同,不同之处在于.detach()将所有jQuery数据与被删除的元素相关联。当被删除的元素稍后要重新插入DOM时,该方法非常有用。
第一个