【问题标题】:validate + listener + slide down panel验证 + 侦听器 + 向下滑动面板
【发布时间】:2010-12-07 22:25:13
【问题描述】:

我们只有两个表单元素。 他们是为了数字。如果数字匹配(使用 validate ),那么我想要一个滑动面板( div )打开。

没有锚按钮或链接。

我发现的问题是,在第二场比赛成功后触发面板向下滑动。我不希望用户点击离开第二个输入字段,而是监听事件匹配,成功然后显示 div。

如果它们不匹配或用户更改了输入,则 div 将关闭。

....... 所以这里有一些代码。

<input id="mobile1" name="mobile1">
<input id="mobile2" name="mobile2">

验证:

$(document).ready(function(){
    $("#form").validate({
        rules: {
            mobile1: "required",
            mobile2: {
                equalTo: "#mobile1"
            }
        }
    });
});   

Slider 似乎是我们可以使用、切换和滑动的多种不同版本。

我的问题是我希望事件侦听器从第二个输入字段触发滑块面板。用户无需点击其他任何地方。

所以当他们进入第二个输入字段时..一旦匹配,“实时”滑块就会打开。

任何帮助表示赞赏。

在 Davids 的帮助下,这就是我目前所拥有的:

验证:

$(document).ready(function(){
    $("#bugmeform").validate({
        rules: {
            mobile1: "required",
            mobile2: {
                equalTo: "#mobile1"
            }
        }
    });
});

下面提到的jQuery Handler代码

$("#mobile2").bind('keyup', "paste", function () {
    if ($("#mobile1").val() == $("#mobile2").val()) {
        $("#slider").animate({
            width: "70%",
            opacity: 0.4,
            marginLeft: "0.6in",
            fontSize: "3em",
            borderWidth: "10px"
        }, 1500);
    });

表单元素看起来像: 移动 1

<input id="mobile1" name="mobile1" class="small" size="12" type="text" onkeydown="return ( event.ctrlKey || event.altKey
                || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
                || (95<event.keyCode && event.keyCode<106)
                || (event.keyCode==8) || (event.keyCode==9)
                || (event.keyCode>34 && event.keyCode<40)
                || (event.keyCode==46) )"
                class="medium"  onKeyPress="return numbersonly(event, false)" onKeyDown="limitText(this.form.mobile1,this.form,10);" 

onKeyUp="limitText(this.form.mobile1,this.form,10);" maxlength="10"/>

手机 2

<input id="mobile2" name="mobile2" class="small" size="12" type="text" onkeydown="return ( event.ctrlKey || event.altKey
                || (47<event.keyCode && event.keyCode<58 && event.shiftKey==false)
                || (95<event.keyCode && event.keyCode<106)
                || (event.keyCode==8) || (event.keyCode==9)
                || (event.keyCode>34 && event.keyCode<40)
                || (event.keyCode==46) )"
                class="medium"  onKeyPress="return numbersonly(event, false)" onKeyDown="limitText(this.form.mobile2,this.form,10);" 

onKeyUp="limitText(this.form.mobile2,this.form,10);" maxlength="10"/>

我希望制作动画的 Div 元素:

<div class="clearfix"></div>
<div id="slider">

你好世界

就是这样。

标签: javascript jquery jquery-effects


【解决方案1】:

可能是这样的:

$('#secondInput').keyup(
    function(){
        if ($('#firstInput').val() == $('#secondInput').val()) {
            $('#slider').animate({/* slide into view */}, 500);
        }
    });

【讨论】:

  • 嗨,大卫,感谢您的回复。这看起来有点像它会工作,keyup会触发成功的滑块不会,每次按下键时都不会滑动lol
  • 它只会动画$('#slider') 如果两个输入匹配。不过,考虑粘贴事件,可能值得将 keyup(function(){ 切换为 .bind('keyup','paste',function(){
  • 我打算使用 -moz-user-select:none;或类似的,但得到你的意思,会玩。如果我们让它工作,并发布一些代码:)
  • @422:如果你明天遇到问题,请在此处留言,我会在电脑前查看,而不是 iPhone =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 2012-09-15
  • 2021-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多