Tag: javascript

在jQuery UI Selectable中启用Shift-Multiselect

我想通过保持shift来在jQuery UI Selectable表中启用多选function。 如果在鼠标点击下按住shift,我可能应该这样做 获取最顶层的选定元素 获取单击元素 选择其间的所有元素 但我无法找到如何以干净的方式做到这一点…… 目前我在可选择的配置中得到了这个: start: function(e) { var oTarget = jQuery(e.target); if(!oTarget.is(‘tr’)) oTarget = oTarget.parents(‘tr’); } 所以oTarget是被点击的元素(而e.currentTarget是整个表),但现在是什么? 如何找到已经选择的元素的方式可以告诉我点击的元素是否超过所选元素并选择其中的所有内容? 我已经像这样解决了它,添加到可选元素: jQuery(table).mousedown(function(e) { //Enable multiselect with shift key if(e.shiftKey) { var oTarget = jQuery(e.target); if(!oTarget.is(‘.ui-selectee’)) oTarget = oTarget.parents(‘.ui-selectee’); var iNew = jQuery(e.currentTarget).find(‘.ui-selectee’).index(oTarget); var iCurrent = jQuery(e.currentTarget).find(‘.ui-selectee’).index(jQuery(e.currentTarget).find(‘.ui-selected’)); if (iCurrent < iNew) { iHold […]

jQuery:找到重复的ID并删除除第一个之外的所有ID

$(‘[id]’).each(function () { var ids = $(‘[id=”‘ + this.id + ‘”]’); // remove duplicate IDs if (ids.length > 1 && ids[0] == this) $(‘#’ + this.id).remove(); }); 以上将删除第一个重复ID,但我想删除最后一个。 我试过$(‘#’+ this.id + ‘:last’)但无济于事。 小提琴 在附加动作发生时,应保留带有值’sample’的输入。

如何使用jQuery获取指定索引处的表格单元格

我知道我可以使用如下所示的jQuery表达式获取第一个或最后一个表格单元格(例如最后一行): 第一个单元格: $(‘#table tr:last td:first’)或最后一个单元格: $(‘#table tr:last td:last’) 但是,如何使用类似的表达式获取特定索引处的单元格,例如索引2,即$(‘#table tr:last td:[2]’) ? 问候。

我可以为所有AJAX请求设置全局标头吗?

这似乎不起作用: $.ajaxSetup({ headers: { Accept: ‘application/vvv.website+json;version=1 ‘, Authorization: ‘Token token=\”FuHCLyY46\”‘ } }); 我原以为会。 如果我将这些filter专门添加到我的AJAX调用中,那么它们就能正常工作 我想为所有AJAX调用全局执行此操作。

在Javascript中将日期时间字符串转换为时间戳

问题简述: 转换date-month-year hour(24):minute到timestamp的最简单方法是什么? 由于更多的观点在顶部添加了明确的问题,所以如果需要快速帮助,无需通过背景和所有。 背景 : 我有一个简单的html表,我使用jquery排序器来排序我的表列。 一切都工作正常,除了日期列具有以下格式的数据, 17-09-2013 10:08 date-month-year hour(24):minute 此列按字母顺序排序,但不是我预期的排序(日期明确)。 我尝试使用自定义解析器,如下所示, $.tablesorter.addParser({ id: ‘date_column’, // my column ID is: function(s) { return false; }, format: function(s) { var timeInMillis = new Date.parse(s); return timeInMillis; }, type: ‘numeric’ }); 问题:由于new Date.parse(s)而失败。 问题:将date-month-year hour(24):minute为时间戳的最简单方法是什么? 然后我可以跳过var timeInMillis = new Date.parse(s); 线。 谢谢 编辑: 很抱歉有关milliseconds的混淆,实际上应该是timestamp ,它是表示当前时间和日期的数字。

如何使用javascript关闭当前选项卡?

我想使用javascript / Jquery关闭当前选项卡。 但我没有找到任何解决方案。 我读到window.close()仅适用于使用window.open()方法打开的窗口。 那么有没有办法向系统发送命令,用户按ctrl + w也关闭此窗口。 小提琴 function down(){ window.close() }

如何使用javascript或任何库检查用户是否在线?

我需要一些帮助,如何使用Javascript或jQuery或任何库(如果可用)检查互联网连接。 因为我正在开发一个离线应用程序,我希望在用户离线时显示一个版本,如果用户在线则显示另一个版本。 目前我正在使用此代码: if (navigator.onLine) { alert(‘online’); } else { alert(‘offline’); } 但这种方法检测起来很慢。 有时它只是连接到没有互联网的网络,需要5到10秒才能提醒false (没有互联网)。 我看了一下Offline.js库,但我不确定这个库在我的情况下是否有用。 我不知道如何使用它

在没有JQuery UI的情况下拖放

我经常搜索一下jQuery的拖放教程(没有UI),但由于JQuery UI的普及,所有的拖放function都基于JQuery UI。 任何人都可以给我一个提示如何通过JQuery独立进行基本的拖放操作?

可过滤的多选combobox穿梭/转移小部件

背景 我正在寻找一个基于jQuery或JavaScript的combobox穿梭小部件,允许用户过滤源列表。 源列表是combobox(在左侧),目标列表是第二个combobox(在右侧)。 小样 小部件应该类似于: 现有的jQuery 小部件 : 用法 用户可以: 键入正则表达式以过滤源列表(例如, Toy.* )。 窗口小部件隐藏了与filter表达式不匹配的所有项目。 在源列表中选择一个或多个项目(使用单击,按住Control键单击和按住Shift键单击选择)。 单击>>将项目从源列表传输到目标列表。 清除filter以显示完整的源列表。 技术 理想情况下,combobox将使用多选HTMLcombobox,标记将是微不足道的: Toyota Mitsubishi Nintendo Samsung Bank of Kyoto Mazda Fuji Honda $(‘#sourceList’).shuttle(); 发现 这些很接近: http://archive.plugins.jquery.com/project/crossSelect – 没有filter http://quasipartikel.at/multiselect/ – 不允许多项选择 http://blog.jeremymartin.name/2008/02/easy-multi-select-transfer-with-jquery.html – 没有filter http://davidwalsh.name/demo/multi-select.php – 使用MooTools; 没有filter http://devblog.jasonhuck.com/assets/comboselect/ – 没有filter http://www.dhtmlgoodies.com/index.html?whichScript=multiple_select – 没有filter http://blog.cbolson.com/expanding-multiple-select-list-with-search-filter/ – MooTools 这几乎是完美的: […]

如何在所有浏览器上禁用退格键按键?

我试图在所有情况下禁用订单页面上的退格按钮,除非textarea或文本输入是一个活动元素,以防止用户意外退出订单。 我在大多数浏览器中都能正常工作,但在IE中(在IE9中测试常规和兼容模式)它仍然允许用户点击退格并转到上一页。 这是代码: $(document).keypress(function(e){ var activeNodeName=document.activeElement.nodeName; var activeElType=document.activeElement.type; if (e.keyCode==8 && activeNodeName != ‘INPUT’ && activeNodeName != ‘TEXTAREA’){ return false; } else { if (e.keyCode==8 && activeNodeName==’INPUT’ && activeElType != ‘TEXT’ && activeElType != ‘text’){ return false; } } }); 关于我在这里做错了什么的建议? 谢谢!