我无法触发附加到<div>元素的onselect事件处理程序.是否可以强制<div>发出选择事件?
我能够通过记录 onselect 并每次存储开头和结尾来从文本区域中获取突出显示的文本。然后,当我单击按钮时,我自己构建子字符串。是否有更简单的方法来简单地查询选择?
我有点期待 html5 dom 中会有用于所有这些事情的方法,例如:
textarea.getSelectedStart() textarea.getSelectedEnd(); textArea.setSelected(开始,结束);
另外,是否有一种方法可以以编程方式取消选择文本区域中的文本?
我正在根据下面的第一个解决方案输入代码。这种方法可行,但有一个奇怪的问题:
<script language=javascript>
function replaceCLOZE(code, questionType) {
var v = code.value;
var s = code.selectionStart;
var e = code.selectionEnd;
var t = v.substr(s, e-s);
var rep = "{:" + questionType + ":="+t+"}";
code.value = v.substr(0,s) + rep + v.substr(e,v.length-e+1);
}
function shortAnswer(code) {
replaceCLOZE(code, "SA");
}
function shortAnswerCaseSensitive(code) {
replaceCLOZE(code, "SAC");
}
function multipleChoice(code) {
replaceCLOZE(code, "MC");
}
Run Code Online (Sandbox Code Playgroud)
文本区域实际上具有属性 code.selectionStart 和 code.selectionEnd。但上面的代码现在可以工作,将屏幕上突出显示的文本设置为文本区域中的第一个单词。请注意,selectionStart 仍然是正确的,但 Firefox 中实际突出显示的内容是错误的。
在 Chrome 中它工作得很好。也许这只是 Firefox …
我正在尝试使用 jquery 中的 datetimepicker。每当您选择新日期时,我都想清除一些输入字段,但我的 onSelect 不起作用。首先,它只在文档加载时触发一次。在那之后,它再也不会开火了。其次,onSelect 不适用于匿名函数。
这不起作用
$(document).ready(function() {
$(function () {
$('#dateValue').datetimepicker({
format: 'YYYY-MM-DD',
onSelect: function() {
console.log("testing");
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
这确实有效,但仅在文档加载时触发,然后再也不会触发
$(document).ready(function() {
$(function () {
$('#dateValue').datetimepicker({
format: 'YYYY-MM-DD',
onSelect: console.log("testing")
});
});
});
Run Code Online (Sandbox Code Playgroud)
index.html 中我的 head 标签中的导入文件
<head>
<meta charset="UTF-8">
<title>....</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="script.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.min.css" rel="stylesheet"/>
<link rel="stylesheet" href="myCSS.css">
</head>
Run Code Online (Sandbox Code Playgroud)
编辑:我搞砸了,忘了给出错误信息
Uncaught TypeError: option onSelect …Run Code Online (Sandbox Code Playgroud) 我有以下html:
HTML标记
<ul id="test">
<li><a href="http://www.yahoo.com">yahoo</a></li>
<li><a href="http://www.google.com">Google</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
还有一些JS代码:
JQuery/JavaScript代码
$('ul#test').each(function()
{
var select=$(document.createElement('select')).insertBefore($(this).hide());
$('>li a', this).each(function()
{
option=$(document.createElement('option')).appendTo(select).val(this.href).html($(this).html());
});
});
Run Code Online (Sandbox Code Playgroud)
这段代码产生了一个选择下拉菜单,正是我想要的,但我的问题是如何在select上找到url?所以,如果我点击雅虎,它会把我带到yahoo.com?
谢谢你的帮助!
使用这个:
$(function () {
$("#datepicker").datepicker({
onSelect: function (date) {
var links = "http://google.co.uk/";
window.location.href = links + date;
}
});
});
Run Code Online (Sandbox Code Playgroud)
要填充网址-从日期选择器中选取的每一天都是唯一的。
在这种情况下-以Google.co.uk为例,并附加了数据。
我想将日期格式更改为“ ddmm”-以便单击1月2日(和年份)将返回链接:http ://goolge.co.uk/0201 。
我不知道如何从mm / dd / yyyy更改默认数据格式。
示例代码在这里>>> JSFIDDLE
我有一个.css样式表,其中包含我的输入类型按钮的样式,如下所示.
input[type="submit"]
input[type="submit"]:hover
input[type="submit"]:focus
Run Code Online (Sandbox Code Playgroud)
以上三件作品但input[type="submit"]:select不起作用.我甚至试过了:selected.请问:visited,:link等申请<input type="button" />和<input type="submit" />?
请帮我怎么input[type="submit"]:select去上班
onselect ×6
javascript ×4
jquery ×3
datepicker ×2
html ×2
button ×1
css ×1
select ×1
submit ×1
textarea ×1