我有一个日历表的页面,我已经使用这个脚本来改变bgcolor (css类。clicked)值的一个或多个td标签。
$(document).mousedown(function() {
$("td#target").bind('mouseover',function(){
$(this).toggleClass('clicked');
});
})
.mouseup(function() {
$("td#target").unbind('mouseover');
});
$("td#target").mousedown(function() {
$(this).toggleClass('clicked');
});
现在我需要在mouseup上打开一个弹出式表单,但我不能这样做。你能帮我吗?
的例子:我正在选择5月15日至20日的单元格,单击鼠标将打开一个弹出框,其中包含"编译这些字段为天15-16-17-18-19-20"
谢谢
你可以让div的位置固定或绝对,他们将覆盖底层内容。叠加的div(弹出)将是一个普通的div,您可以在其中创建表单和任何您想要的。下面是我拼凑的一个快速示例:http://jsfiddle.net/0zvqm5nr/35/
下面是jsfiddle的代码:
HTML <div class="calendar">
Your calendar would be here and for every entry you can generate a div 'calendar-entry' as shown in the html
<div class="calendar-entry">
<button id="popupButton" class="calendar-entry-button">15.05.2015</button>
<div class="popup">
<h2>15.05.2015</h2>
Activity:
<form action="somesite.php" method="post">
<select id="activity">
<option class="placeholder" selected disabled>Select</option>
<option>work</option>
<option>youth leave</option>
</select>
<input type="submit" value="save">
</form>
</div>
</div>
<div class="calendar-entry">
<button id="popupButton" class="calendar-entry-button">16.05.2015</button>
<div class="popup">
<h2>16.05.2015</h2>
Activity:
<form action="somesite.php" method="post">
<select id="activity">
<option class="placeholder" selected disabled>Select</option>
<option>work</option>
<option>youth leave</option>
</select>
<input type="submit" value="save">
</form>
</div>
</div>
and so on...
CSS
.calendar {
width: 500px;
height: 500px;
background: green;
}
.popup {
width: 500px;
height: 500px;
background: grey;
display: none;
position: fixed;
top: 0;
left: 0;
}
Javascript var buttons = document.getElementsByClassName("calendar-entry-button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].onclick = function() {
this.parentNode.getElementsByClassName("popup")[0].style.display = "block";
}
}
希望这对你有帮助。