- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了以下代码:
HTML:
<div class="question">
<div class="questionLabel">
<span class="questionTitle">How old are you?</span>
<span class="hideCollapseQuestion">x</span>
</div>
<div class="questionChoices">
<div class="questionChoice">
<div class="questionLetter">A</div>
<div class="questionText">Over 3</div>
</div>
<div class="questionChoice">
<div class="questionLetter">A</div>
<div class="questionText">Under 69</div>
</div>
</div>
</div>
<div class="question">
<div class="questionLabel">
<span class="questionTitle">Wat is your name?</span>
<span class="hideCollapseQuestion">x</span>
</div>
<div class="questionChoices">
<div class="questionChoice">
<div class="questionLetter">A</div>
<div class="questionText">Ahmed</div>
</div>
<div class="questionChoice">
<div class="questionLetter">A</div>
<div class="questionText">John</div>
</div>
</div>
</div>
CSS:
.question {
background: #ccc;
width: 100%;
display: block;
}
.questionTitle {
font-size: 20px;
padding: 2px;
}
.questionChoices {
padding-left: 20px;
}
.questionChoice {
display: table;
padding: 2px;
}
.questionChoice > div {
display: table-cell;
}
.questionLetter {
font-size: 18px;
font-weight: bold;
color: white;
padding: 5px;
background: #1b5e30;
-webkit-border-radius: 8px;
border-radius: 8px;
}
.questionText {
padding-left: 10px;
}
.hideCollapseQuestion {
float: right;
}
JS:
$(".hideCollapseQuestion").each(function()
{
$span = $(this);
$(this).click(function()
{
var $questionChoices = $(this).parent().parent().children(".questionChoices");
if ($questionChoices.css("display") === "none")
$questionChoices.fadeIn();
else
$questionChoices.fadeOut();
});
});
$(".questionTitle").each(function()
{
$(this).dblclick(function()
{
onQuestionTitleChange($(this));
});
});
function onQuestionTitleChange($title)
{
$currentTitle = $title.text();
$newInputField = $('<input type="text" value="' + $currentTitle + '" />');
$title.replaceWith($newInputField);
$newInputField.focus();
$newInputField.blur(function()
{
$oldSpan = $('<span class="questionTitle">' + $newInputField.val() + '</span>');
$newInputField.replaceWith($oldSpan);
$oldSpan.dblclick(function()
{
onQuestionTitleChange($oldSpan);
});
});
}
我的目标是双击即可编辑问题标题。一开始一切都很好,但是例如。如果您编辑第一个问题,然后编辑第二个问题,如果您想再次编辑第一个问题,它将用输入替换第二个范围[而不是预期的第一个范围]。
请注意,我不想为此使用现成的插件。
最佳答案
您只需在最后几行执行以下操作:
替换
$oldSpan.dblclick(function()
{
onQuestionTitleChange($oldSpan);
});
与
$oldSpan.dblclick(function()
{
onQuestionTitleChange($(this));
});
关于jQuery 元素在 dblclick/blur 上跳跃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551176/
我有一个很大的 jquery 代码.. 事情是,我想创建一个在线横幅编辑器。 我在两个 div 内添加了两个文本。这个div是可拖动的。这些 div 又位于另外两个可调整大小的 div 下 现在我想做
我是 Javascript 新手,我开发了以下代码,该代码只能运行一次。 function display(arr) { $(".tbl tbody").empty(); for (i = 0
让 dblclick 在触摸设备和 PC 浏览器上工作的最佳方式是什么 下面的代码在鼠标双击时工作得很好,但在 android 触摸设备上尝试时,不起作用。我应该怎么做?对此很陌生 $(documen
我这里有一些代码 http://jsfiddle.net/ggHwH/每次按下 UP 按钮时,框边框都会增加 1px,每次按下 DOWN 按钮时,框边框会减少 1px。现在我想感应双击向下按钮并立即将
我有一个功能,可以在双击时克隆 img。但是,如果我单击原始 img 上完全相同的位置,则不会在第一个之后生成克隆。我必须将光标移动一小段距离,甚至 1px。 这个问题出现在我正在进行的几个 jque
目前我的应用程序使用 FancyTree jquery 插件,dblclick 事件不仅仅适用于苹果设备,当在 iphone7/8 上设置的 google chrome 开发者模式下运行时,它在控制台
我这里有一个 jsfiddle - http://jsfiddle.net/stevea/eF5cp/5/ - 带有可调整大小的盒子。如果双击文档中的任意位置,框颜色将在米色和红色之间切换。 问题是,
过去几个月,我尝试开发一些运行 JS、jQuery 和 PHP 的 Web 应用程序,以及我在这里找到的大多数技巧(谢谢)以及我使用 Chrome 测试的所有脚本。怎么说呢,它一直有效,直到我决定更改
嘿伙计们,我究竟做错了什么。我的网站上有一些可以双击使用的文件夹。然而不知何故,我的 window.location.replace 并没有触发浏览器历史记录。 如果我使用正常点击而不阻止默认,我可以
我有一个带有嵌入列表的基本列表项,当我双击 li 中非嵌入 ul 的任意位置时,我想打开该列表项。 List Name
我的问题在标题中:如何使用 dblclick 事件打开 jquery fancybox (http://www.fancybox.net/) ? 提前感谢您的回复:) 编辑:我尝试过,但似乎不起作用,
这是我的两个函数,单击它就可以正常工作,但是在 dblclick 上两个函数都执行,知道吗?我尝试使用 live 而不是 delegate 但两个函数仍然在 dblclick 上执行 // Chang
JS angular.module('my-app', []).controller('Ctrl', function ($scope, $timeout) { var t; $sco
我有 2 个输入字段 a) 电子邮件和 b) 私有(private)邮箱 我想在用户双击电子邮件字段时显示警报消息 1,在用户双击 private_email 字段时显示警报消息 2。因此,我使用以下
我有JSFiddle带有可调整大小的框。双击文档上的任意位置时,框颜色会在米色和红色之间切换。 问题是,有时在调整框的大小后释放鼠标左键时,会生成 dblclick 事件并且框变为红色。有时您可以在不
假设我有一个 。当您单击此跨度时,我想要一个 save()功能来开火。当您双击跨度时,我想要一个 rename()函数来触发。 但是,如果双击跨度,首先会出现 click事件将触发,然后 dblcl
我正在使用“dblclick”事件,如果我为形状注册单击和 dblclick 事件,则在调用 dblclick 事件代码之前会调用 click 事件两次。这种行为让我的代码变得疯狂。因为我有一些单击操
我有一个 html 页面,只有一个包含两行的表格,我想通过 jQuery 添加 dobleclick 事件。我的问题是这个代码不运行,但是如果我使用 chrome 的 javascript 控制台并手
我遇到了问题。我正在尝试提出前提。如果用户 id 等于任务创建者 id,则如何允许用户使用 onClick 函数,如果不是,则不允许。我尝试这样做 UserNow 是现在的用户,而 userown 是
我编写了以下代码: http://jsfiddle.net/3Zxx9/ HTML: How old are you? x
我是一名优秀的程序员,十分优秀!