可信任的div存在很多问题,并且在可编辑的div中删除html和/或非内容可编辑内容.
在这里使用优秀的Tim Down的答案:如何删除具有属性contentEditable的div中的HTML元素?
使用Tim的代码,整个文本节点被删除.我需要这个像任何textarea一样工作,逐个字符删除,并确保html元素也可以退格.
我尝试了以下内容
else if(node){
var index = node.length-1;
if(index >= 0)
node.deleteData(index,1);
else
this.removeChild(node);
}
Run Code Online (Sandbox Code Playgroud)
但这显然无法正常工作.如果我在内容的最后,事情按预期工作.但是如果我把光标放在其他地方,它仍然会从最后删除.
我在这一点上输了,任何帮助都非常感激
为了更有效地学习如何做到这一点,我很想知道如何改善这一点,或者我是否一起走错了路.
到目前为止我写过,http://jsfiddle.net/mstefanko/LEjf8/9/
这基本上处理了我想要的小规模.
有一些错误,我完全没有信心这是可以写的那么好,可能是一个白痴,因为没有试图锁定jquery ui可排序.但是由于需要在没有简单项目列表的情况下执行此操作,并且想要将其扩展为包含多个拖放,我想至少要完成我需要做的事情来实现这一点,即使它只是为了学习如何排序功能就像这些工作.
问题孩子,
这是在一个函数调用droppable()的over事件
我有一系列空白点
var emptyHolders = [];
$('.pipeline-holder').each(function(){
if($(this).hasClass('holder-empty')){
var eid = $(this).attr('id');
emptyHolders.push(eid.substring(14));
}
});
Run Code Online (Sandbox Code Playgroud)
cid是你可以放置的可放置元素,所以我找到了下一个打开的插槽
for (var i = 0; i < emptyHolders.length; i++) {
var currentEmpty = emptyHolders[i];
if (currentEmpty > cid) {
nextEmpty = currentEmpty;
i = emptyHolders.length;
} else {
prevEmpty = parseInt(currentEmpty);
}
}
Run Code Online (Sandbox Code Playgroud)
如果列表中有一个空插槽,我使用for循环来循环移动DOM周围的项目以腾出放置元素所需的空间.
if (nextEmpty != null) {
var moveMe = nextEmpty -1;
for (var i = moveMe; i >= cid; i--) {
var nextcount …Run Code Online (Sandbox Code Playgroud) 我有以下css:
.btn_container {
cursor: pointer;
font-family: Tahoma,Verdana,Arial;
font-size: 11px;
padding: 0;
width: auto;
}
.btn_center {
background: blue;
color: #FFFFFF !important;
display: block;
float: left;
font-weight: bold;
height: 32px;
line-height: 32px;
padding: 0 10px;
}
Run Code Online (Sandbox Code Playgroud)
在firefox中心线的高度为30行,但在webkit中为32行.
我知道浏览器会以不同的方式呈现内容,但我从未遇到过使文本正确居中的问题.
在下面的示例中,您可以看到它在firefox中降低了几个px:http: //jsfiddle.net/mstefanko/EGzEB/5/
我想最终得到一个像这样的对象:
{"Red 1":53,"Blue 2":26,"Green 3":25}
Run Code Online (Sandbox Code Playgroud)
从以下示例:
试图将数据从内部.each推送到对象,但它是多维的,我不知道如何实现这一目标:
//html
<div class="test">
<div class="color">Red 1</div>
<div class="value">53</div>
</div>
<div class="test">
<div class="color">Blue 2</div>
<div class="value">26</div>
</div>
<div class="test">
<div class="color">Green 3</div>
<div class="value">25</div>
</div>
//js
var dataPoints = {};
var colorTitle = '';
var colorValue = '';
$('.test').each(function(index) {
colorTitle = $(this).find('.color').html();
colorValue = $(this).find('.value').html();
dataPoints.push({colorTitle:colorValue});
});
Run Code Online (Sandbox Code Playgroud)
上面的代码显然不起作用,但我想基本上展示我想要做的事情.
尝试过这种方法:
dataPoints[index][colorTitle] = colorValue;
Run Code Online (Sandbox Code Playgroud)
哪个也行不通.可能错过了所有的东西,但任何帮助表示赞赏!谢谢
$.fn.demo = function(options) {
var defaults = {
opacity: 50,
width: '250px',
height: '100px',
color: 'red'
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法有条件地将选项传递给函数,如:
$().demo({
opacity: 60,
if (div.length){
width: '350px'
}
height: '100px'
});
Run Code Online (Sandbox Code Playgroud)
只是好奇什么是处理你可能希望根据情况通过不同选项的情况的最佳方法.谢谢!