小编Def*_*ult的帖子

解决或拒绝Dojo Deferred对象后如何执行公共代码?

我有一个关于dojo/Deferred的问题.我将从问题开始,然后详细了解我正在做的事情:

有没有办法执行相同的代码行,无论延迟的结果如何,有点像声明中的finallytry...catch?从我所看到的,它似乎没有,但也许我理解文档错误,并希望与SO社区验证.

这是我正在做的事情:

在Dojo 1.9(也适用于1.8)中,我在加载一些数据之前为ContentPane实例化dojox.widget.Standby(加载叠加层).延期通话完成后,我想隐藏我的叠加层,如下所示:

standby = new Standby({
    ... // standby props
});
this.addChild(standby);
standby.show();

queryResults = grid.store.query({
    ... // query props
});
queryResults.then(function (results) {
    if (results) {
        ... // do something
    }

    standby.hide();
}, function (error) {
    ... // handle error

   standby.hide();
});
Run Code Online (Sandbox Code Playgroud)

这很好用; 但是,据推测,我可以在延迟完成之后实现一些进程,这些进程占用几行代码而不是一行,我不想复制那些代码行.另一种方法是创建一个私有函数,并在每个块中用一个单行调用它,但如果有更好的方法,我宁愿采取这种方式.

提前致谢!

javascript dojo promise deferred

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

触发按钮,单击文本框中的Enter键,忽略其值

我有

HTML:

<form  action="" method="post"  id="contactForm">
    <input id='inputbox' name="inputbox" type="text" />
    <button type="button" id='search'> search </button>
</form>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

$(document).ready(function() {
    $("#inputbox").keyup(function(event){
        if(event.keyCode == 13){
            $("#search").click();
        }
    });

    $('#search').click(function(){
         var inputbox= $("#inputbox").val();  
        //stuff
    });
});        
Run Code Online (Sandbox Code Playgroud)

当我按下回车键时输入值是什么,但是如果我点击按钮它与相同的输入值完美地工作

也许使输入 全局化?

javascript jquery

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

返回[object HTMLSpanElement]

<form>
   <table>
     <tr>
        <td>Distance:</td>
        <td><input type="number" id="distance" onKeyUp="calculate();">m</td>
     </tr>
     <tr>
        <td>Time:</td>
        <td><input type="number" id="time" onKeyUp="calculate();">s</td>
     </tr>
     <tr>
        <td>Speed:</td>
        <td><span id="speed">21</span><span id="unit">&nbsp;m/s</span></td>
     </tr>
  </table>
</form>

<script type="text/javascript">

   var calculate = function() {
      var distance = document.getElementById("distance").value;
      var time = document.getElementById("time").value;
      var speed = distance/time;}
      if (speed=="Infinity" || speed=="NaN") {
         document.getElementById("speed").innerHTML="Invalid Input";
         document.getElementById("unit").innerHTML="";
      } else {
         document.getElementById("speed").innerHTML=speed;
      }

</script>
Run Code Online (Sandbox Code Playgroud)

我正在制作一个简单的速度计算器,但它不起作用.输出来了[对象HTMLSpanElement] 任何帮助将不胜感激,因为我是javascript的新手.

html javascript

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

如何在javascript中循环遍历此数组?

我正在尝试遍历此数组,但它不会返回任何长度.可能吗?

谢谢!

<!DOCTYPE html>
<html>
  <body>
    <button onclick="myFunction()">click</button>
    <script>
      function myFunction()
      {
        var fruits = [];
        fruits["B"] = "Banana";
        fruits["A"] = "Apple";
        fruits["O"] = "Orange";

        delete fruits["A"];

        alert(fruits["A"]); // Alerts "undefined"
        alert(fruits["B"]); // Alerts "Banana"
        alert(fruits.length); // Alerts "0"
      }
    </script>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何在js中点击x次后禁用按钮?

我试图使用Javascript在点击x次后禁用按钮.为简单起见,我们现在说x = 2.我似乎无法让计数器增加.感谢您的任何帮助!

var $ = function (id) {
    return document.getElementById(id);
}

window.onload = function () {
    coke.onclick = function(){
        var count =0;
        if (count >= 1)
        {
            coke.disabled = true;
        }
        else
            count++;
    };
}
Run Code Online (Sandbox Code Playgroud)

其中"可乐"是元素ID.如果我摆脱if声明只是有coke.disabled = true,当然它可以工作,并在一次单击后禁用.我确信我缺少一个核心概念.谢谢

javascript events onclick

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

如何给浮动侧边栏100%的父级高度?

这是我的jsFiddle

我想要一个像上面这样的布局,但我不想手动为我的侧边栏指定高度(正如我现在所做).我希望侧边栏高度与其父元素(即内容区域)相比是100%

<header> </header>
<div class="content-area">
<div class="left-sidebar"></div>
<div class="main-area"></div>
<div class="right-sidebar"></div>
</div>
<footer> </footer>
Run Code Online (Sandbox Code Playgroud)

我的css

.content-area {
min-height: 310px;
background-color: #bbb;
}
.left-sidebar {
float: left;
width: 50px;
height: 310px;
background-color: #abcdef;
}
.right-sidebar {
float: right;
width: 50px;
height: 310px;
background-color: #abcdef;
}
Run Code Online (Sandbox Code Playgroud)

html css html5 styles css3

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

为什么我的第二个printf在预期时没有被调用?

我刚学用C编程和感到有点困惑的东西去与scanfgetchar.我知道使用类似的东西scanf("%d", &i)会读取整数输入,但在输入缓冲区中保留以下换行符(这就是为什么必须getchar() == '\n'通过getcharscanf调用之后使用之前查找来清除输入缓冲区的原因.

这是我的简单(不正确)程序,它读取整数,然后是字符输入,并将它们打印回给用户:

int main(void)
{
    int i;
    printf("Enter an integer: ");
    scanf("%d\n", &i);

    printf("Enter a char: ");
    char ch = getchar();

    printf("You entered integer: %d\nYou entered character: %c\n", i, ch);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我将换行符留在我的scanf格式字符串中(所以只有"%d"),有意义的是,只要用户输入一个整数并点击输入,该整数将被读取并存储i,程序将继续执行( "输入一个字符:"立即打印,并ch存储换行符.

但是,使用格式String "%d\n"我会遇到意外行为.当用户输入一个整数并按Enter键时,我希望打印"输入字符:".相反,你可以继续按Enter键,直到你决定输入一个不同的角色时才会发生任何事情.所以你可以输入"10",输入6次,然后键入"d"并getchar()读取"正确".整个程序输出看起来像这样

Enter an integer: 10




d
Enter a char: You entered integer: 10
You entered character: d
Run Code Online (Sandbox Code Playgroud)

为什么我的程序在输入字符之前会停止?似乎奇怪的是,我的第二个 …

c input scanf getchar

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

这个JavaScript Function.call方法做什么?

var function1 = function(){};
var function2 = function(){};

function1.call(function2.prototype);
Run Code Online (Sandbox Code Playgroud)

我花了太多时间试图理解上面的代码.可以在任何一个解释是如何function1function2在上述情况改变了吗?

功能性混合物

我能够function1在一个对象上调用方法function2.所以,我的结论function必定已经改变.

javascript prototype function

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

标签 统计

javascript ×6

html ×2

c ×1

css ×1

css3 ×1

deferred ×1

dojo ×1

events ×1

function ×1

getchar ×1

html5 ×1

input ×1

jquery ×1

onclick ×1

promise ×1

prototype ×1

scanf ×1

styles ×1