小编wdm*_*wdm的帖子

使用Mobile Safari"表单助手"更改未在选定元素上触发的事件

我有动态选择下拉菜单.例如,如果选择特定月份,则第二个选择元素将填充该月份的天数.

这可以按预期工作,但是当用户在iPhone上并使用Mobile Safari的"表单助手"中内置的"下一步"按钮时,change事件(使用jQuery)似乎不会触发,第二次选择不会更新.

$('.month').change(function() {
    // update "days" select element
});
Run Code Online (Sandbox Code Playgroud)

仅供参考我也在使用jQuery mobile

iphone jquery mobile-safari ios jquery-mobile

9
推荐指数
2
解决办法
2万
查看次数

如何在方括号组中表示单个空格字符

我面临一个问题,即在[]字符集表达式中表示单个空格.我最终使用了这样的东西

([a-zA-Z0-9]|\x20)+
Run Code Online (Sandbox Code Playgroud)

我认为这不是很优雅

更新:我现在知道我的正则表达式出了什么问题.我用过这样的东西,但没用

[A-Za-z0-9/.,':!?$%()- ]+
Run Code Online (Sandbox Code Playgroud)

但是当我把空间移动到9之后就像这样

[A-Za-z0-9 /.,':!?$%()-]+
Run Code Online (Sandbox Code Playgroud)

它很有效,很奇怪.我正在尝试使用在线正则表达式测试仪RegExr.

Update2:我现在发现问题是-内部正则表达式用于表示一个范围,[]所以任何事物之前和之后都有不同的含义而不仅仅是一个简单的字符

regex

8
推荐指数
2
解决办法
4万
查看次数

HTML5历史记录API:刷新和返回问题

我正在编写代码来创建一个类似于从时间轴上在Facebook上查看照片的用户体验......

  1. 查看时间轴,单击照片,然后以模态打开
  2. 您刷新并进入图像的专用页面
  3. 你回击了,然后你回到了时间轴

我通过HTML5 History API完成了大部分工作.这是我点击图片时正在做的...

  1. preventDefault()用来避免跟随链接(到图像页面),而是AJAX加载模式与图像
  2. pushState是图像页面的URI,因此它出现在地址栏中
  3. 现在我刷新并且我被带到专用图像页面(步骤#2中的URI)
  4. 然后我点击"后退"按钮,它显示地址栏中的上一页URI(即时间轴),但我仍然在图像页面上.

问题:在步骤#4,有没有办法绕过历史API并让浏览器执行标准的"后退"操作,这样我就可以返回上一页(即时间轴)?

javascript jquery html5 history.js

5
推荐指数
1
解决办法
2143
查看次数

jQuery delegate()将无法使用$(this)

我目前正在组合一些jQuery,当点击由js生成的元素时,它将激活slideDown().

这是我的功能:

$('.radiowrap').delegate("span[title='yes']", "click", function() { 
    $('.radiowrap').next('.secondq:first').slideDown('medium'); 
}); 
Run Code Online (Sandbox Code Playgroud)

这工作正常但只有我指定元素(如上所示)因此激活每个匹配元素.如果我像这样使用$(this):

$('.radiowrap').delegate("span[title='yes']", "click", function() { 
    $(this).next('.secondq:first').slideDown('medium'); 
}); 
Run Code Online (Sandbox Code Playgroud)

代码不起作用......有人有解决方案吗?这是我的HTML片段:

<div class="option radio">
    <h2 class="block">Do you have a hot water tank?</h2>
    <div class="radiowrap">
        <div class="radiocont">
            <label>Yes</label>
            <input type="radio" class="styled" value="yes" name="watertank" />
        </div>
        <div class="radiocont">
            <label>No</label>
            <input type="radio" class="styled" value="no" name="watertank" />
        </div>
    </div>
    <div class="secondq" style="display:none;">
        <h2>What type of water tank is it?</h2>
        <div class="radiowrap">
            <div class="radiocont">
                <label>Steel</label>
                <input type="radio" class="styled" value="steel" name="watertanktype" />
            </div>
            <div class="radiocont">
                <label>Fibreglass</label>
                <input type="radio" class="styled" value="Fibreglass" name="watertanktype" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

0
推荐指数
1
解决办法
272
查看次数