Tag: jquery

如何更改inputiOS上的插入符的默认颜色?

有什么办法可以改变iOS上的蓝色插入符号作为input吗?

在CSS3中滑动animation

我目前正在研究用HTML 5,CSS3和jQuery编写的移动应用程序框架。 对于“屏幕”的标记,我有以下布局: <div class="page" id="home"> <!– some content is here… –> </div> <div class="page" id="lists"> <!– some more content is here… –> </div> 我目前正在使用jQuery来检测页面上的第一个div元素,并将其class属性设置为current 。 然后我有下面的CSS声明隐藏除了page.current任何东西: div.page { display: none; } div.page.current { display: block; } 每当浏览器检测到哈希更改事件( window.onhashchange ),我运行以下jQuery: if(window.location.hash) { var the_hash = window.location.hash.substring(1); if($('#' + the_hash).length > 0) { $('.current').removeClass('current'); $('#' + […]

phonegap ios固定虚拟键盘上的input字段

用jQuery Mobile创build一个phonegap应用程序。 在我的应用程序中,一个固定的input字段出现在虚拟键盘的顶部,这是在Android中正常工作,但在IOS时,虚拟键盘出现无法正常工作。 我的问题是这个IOS更小虚拟键盘上的固定页脚工具栏打破 JS header_height = $('.main-header').height(); footer_height = $('.footer').height(); footer_input_height = $('.fixed_bottom').height(); $('.fixed_bottom').css('bottom',footer_height+'px'); $('#messages .ui-panel-wrapper').css('padding-bottom','inherit'); $("input, textarea").blur(function() { $("[data-role=footer]").show('','',function(){ $('#messages').css('padding-bottom',footer_height+'px'); $('#messages .ui-panel-wrapper').css('padding-bottom','inherit'); $('.fixed_bottom').css('bottom',footer_height+'px'); }); }); $("input, textarea").focus(function() { $("[data-role=footer]").hide('','',function(){ $('#messages').css('padding-bottom','0px'); $('#messages .ui-panel-wrapper').css('padding-bottom','0px'); $('.fixed_bottom').css('bottom','0px'); }); }) CSS #messages .fixed { left: 0; right: 0; width: 100%; position: fixed; z-index: 1000; display: block; } #messages […]

禁用双击以点击触摸屏iOS设备

所以,最近我一直在一个让我改进和做出反应的网站上工作,而我所面对的问题之一是有很多可点击的元素,CSS和jQuery效果hover状态。 现在,首先我希望所有这些hover状态都是CSS,但是我遇到的主要问题是,在这些hover状态中,某些元素正在改变display和visibility CSS属性。 我做了一些阅读,显然如果是这种情况,在触摸屏iOS设备上,这会导致第一次“触摸”强制hover状态,然后再点击一下就可以实际点击元素。 我试图find一个解决scheme,不需要大量的标记和样式更改。 最好修复jQuery / JavaScript的将是很好的。 我已经尝试了以下内容: $(document).ready(function() { $('a').on('click touchend', function(e) { var el = $(this); var link = el.attr('href'); window.location = link; }); }); 但是,当用户将手指放在可点击的元素上并拖动页面滚动时,会产生问题。 拖动后释放手指时, window.location仍然会更改。 如有必要,我会在稍后添加一个jsFiddle。 提前致谢。 编辑: 这是一个显示问题的jsFiddle。 http://jsfiddle.net/0bj3uxap/4/如果你点击其中一个块,你会看到它显示hover状态,然后你需要再次点击才能真正触发点击事件。 当隐藏一个元素似乎发生,然后hover状态显示该元素。

Keydown允许数字,但不能在iPhone上移动符号

我有一个事件绑定到应该只允许数字的input。 简化: function (e) { if (-1 === [48,49,50,51,52,53,54,55,56,57].indexOf(e.keyCode)) { e.preventDefault(); } } 这工作正常,但如果有人types! , @ , # , $等等,keyCode仍然是一样的,事件的默认是不被阻止的。 在物理键盘上,我也可以通过检查e.shiftKey来防止这e.shiftKey 。 但是,在iOS 虚拟键盘上,即使是<input type=number>也存在一些字符(如$ ),并且可以直接键入。 他们的keyCode是一样的,但似乎e.shiftKey仍然是错误的。 我可以接受的解决scheme有很多种: 让虚拟键盘本身不显示这些字符(即只显示数字和句点/小数) 检测到一个无效的虚拟键被按下,并抑制事件的行为 确定一个无效字符将被添加到input的值,并在这种情况下抑制事件的行为 其他?

jQuery的ContextMenu事件不工作在IOS 8.2

我使用.html示例中的contextMenu事件,当我长按DIV时它会被触发,但是现在它不工作。 是最新的IOS 8.2版本中的东西坏了。 这里是示例代码, <head> <title></title> <script src="Scripts/jquery-1.9.1.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#content").on("contextmenu", function () { alert("CM"); }); }); </script> </head> <body> <div id="content" style="height:300px; width:300px; background-color:gray;"></div> </body> 这是工作示例 http://jsfiddle.net/4zu1ckgg/ 请有人帮我这个。

移动Safari和jQuery事件,没有什么是射击?

好的,所以我有一个用HTML5 / JavaScript编写的应用程序,用于内置汽车装置。 这是一个“单页”的应用程序,在主页面上为了响应不同的事件而将片段加载到div中。 我被要求将其移植到浏览器,以便它可以用于市场营销,演示等等。 这看起来不是什么大事,因为几乎没有什么适应,只需要调整一些CSS,以便它可以在所有浏览器中显示相同。 然后,他们决定他们想要运行webapp的设备将是一个iPad。 该应用程序在Safari中效果很好,所以我不认为我会在移动Safari中遇到任何问题。 立即意识到,情况并非如此。 在移动Safari浏览器中该应用程序根本不起作用! 基本上,我的点击事件都没有发射。 最重要的是,我的控制台中出现了不一致的错误消息,这些消息在任何其他浏览器中都没有显示出来。 TypeError: 'null' is not an object 围绕这个网站,我看到有关jQuery绑定工作和Mobile Safari的报告有冲突,哪些不支持。 所以我决定build立我自己的实验。 使用单个链接创build页面: <a class="mylink">CLICK ME</a> 然后我尝试了这些绑定中的每一个: $("a.mylink").click(function () { console.log("click worked"); }); $("a.mylink").bind("click", function () { console.log("bind worked"); }); $("a.mylink").live("click", function () { console.log("live worked"); }); $("a.mylink").on("click", function () { console.log("on worked"); }); 唯一一个在控制台中得到任何响应的是.live()。 即使如此,这是非常不一致的,通常涉及点击发送垃圾邮件。 […]

Javascript – iPad的标签键检测与蓝牙键盘

我有一个文本字段,用户可以键入数据。 他们可以使用Tab键,然后字段被缩进。 这对一切除了与蓝牙键盘的IOS都很好。 如果我访问http://www.rapidtables.com/tools/notepad.htm ,我可以在我的桌面/笔记本电脑上标签。 但在我的iPad上…没有骰子。 如果我访问https://api.jquery.com/keydown/,https://api.jquery.com/keyup/,https://api.jquery.com/keypress/ …没有人检测到标签在iPad上的关键。 Tab键在ios本地应用程序(如Notes)中工作,Tab键在网页内的字段之间导航。 有没有一种方法来检测JavaScript中的任何人都知道的标签键? 编辑 这里是一个小提琴我扔在一起,所以你可以看到的代码和问题的行动: https : e.keyCode===9基本上我只是检查e.keyCode===9在桌面/笔记本电脑上工作。 在iPad上,它会注册除标签键以外的所有按键。

移动Webkit和Hammer JS上的多个元素响应触摸事件

我正在使用Hammer JS库开发一个小型项目,我在Chrome开发工具模拟器上遇到了一个问题,并在两个iOS 7设备上进行了debugging。 它似乎在桌面浏览器上正常工作。 小提琴在这里: http : //jsfiddle.net/w80baz5g/5/和更多信息下面。 我有一组元素,像这样: <div> <img class="item" id="item0" src="http://placehold.it/300×300"> <img class="item" id="item1" src="http://placehold.it/300×300"> <img class="item" id="item2" src="http://placehold.it/300×300"> </div> 和Hammer JS听一个水龙头事件: function initItems(el) { var itemToTap = new Hammer.Manager(el, itemOptions); itemToTap.add( new Hammer.Tap() ); itemToTap.on("tap", function(event) { console.log("tapped: " + event.target); }); } $(".item").each(function(){ var itemToInit = $(this)[0]; initItems(itemToInit); }); 在桌面浏览器(Chrome,Safari)中,一切似乎都很好,在移动设备上,只有三个元素中的第一个似乎响应了点击事件,但控制台显示它响应所有三个元素? […]

iOS Safari HTML表格下一个/上一个button – 它们是如何工作的?

免责声明:我正在使用JQuery Mobile。 我有一堆不同forms的页面,但其中一些似乎在按下一个/上一个button时performance出不同的行为。 所有表单都使用tab索引进行设置。 表格1完美地工作,除了跳过JQuery Mobile翻转开关和单选button,这不是一个真正的问题,因为它们有点不同。 表单2, tabindex="0"的元素使用$("#myElement").focus(); 然后下一个button被禁用,并按下前一个button到窗体的底部,即下一个/ prev顺序似乎是1,2,0。 表格3似乎是完全不稳定的,这次按顺序向下,但有些领域似乎是把焦点放在标签上,然后再按下一下,导致input字段被选中。 表格4工作正常,除了最后select的领域似乎被忽略。 然后tabindex跳转到页面上的一些锚点元素,然后继续翻转开关。 表单5具有与表单4相同的行为,表单中的最后一个select字段也将被忽略。 我会继续调查这个问题,并制作一个小提琴,但是有没有人遇到过这样的问题,或者对他们应该如何工作有一些了解?