javascript - 我的数组输出中的 `#` 来自哪里?

标签 javascript jquery arrays

编辑我简化了

out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
        }
(".taskList ul li p").html(out.join(''));

$(".taskList ul li p").html(outputTime);

/编辑 我使用带有回调函数的 jQuery Jeditable 插件在字段更改时启动计时器。

当单击按钮时,将计算 Jedit 和单击事件之间的时间,并将该值放置在已编辑的“..单击编辑”文本旁边的 dom 中 - 在整个 Div 移动到新部分之前,计时器被重置,并创建一个新的 Jeditable 实例来代替原始实例。

我的困难在于,我从另一个堆栈溢出帖子 http://jsfiddle.net/wwnyY/11/ 上找到的 jsfiddle 中获取了代码的大部分计时器部分。 。其输出是在我的结果前面放置一个 # 字符。

我发现计时器代码正在使用 Push() 方法,并且它返回一个数组,我猜这就是我的额外字符的来源。就编程而言,数组是我当前的绊脚石,我想知道是否有人可以解释我如何正确处理数组以删除 # 或者我可以在下面的代码中用什么来替换它(我无法放置一个外部jsfiddle 中的链接,因此发布了代码 http://binarygeometry.net/test/index.html )

<div class="row">
   <div class="eight columns">
   <div class="row taskList">
       <ul>
           <li>
          <div class="nine columns task">
          <div class="edit">
                        ..click to edit
                      </div>
          </div>
              <div class="three columns time">
                     <p>00.00</p>
              </div>
       </li>
       </ul>
 </div>
     <ul class="row doneList">
     <li>

     </li>
 </ul>       
</div>

<div class="four columns">
<p><a href="#" class="success button" id="done">Go!</a></p>
</div>
</div>






 $(document).ready(function() {

 $(".edit").editable("echo.php", {
     placeholder : "Click me to edit",
     loadtype : "POST",
     callback: function(value, settings) {
      startTime = new Date().getTime();
      console.log(startTime);
     }
 });


$("#done").click(function(e){

    function update_output() {  

        var out  = [],
            displayTime;

        for (var i = 0, len = clicks.length; i < len; i++) {
            displayTime = (clicks[i].time - startTime);
            console.log(displayTime);
            outputTime = displayTime //* 0.00001666666;
            console.log(outputTime);
            outputTime = outputTime.toFixed(0);
            console.log(outputTime);
            out.push('<li>' + clicks[i].target + outputTime + 'm</li>');
        }
        $(".taskList ul li p").html(out.join(''));
    }

    var clicks = [];

    clicks.push({ time : new Date().getTime(), target : $(this).attr('href') });
    update_output();


    $(".taskList ul li").appendTo(".doneList")
    $(".edit").removeClass("edit").unbind("click.editable");
    $("<li><div class='nine columns task'><div class='edit'>..click to edit</div><div class='three columns time'><p></p></div></li>")
        .appendTo(".taskList ul");

    $(".edit").editable("echo.php", {
         placeholder : "Click me to edit",
         loadtype : "POST",
         callback: function(value, settings) {
            startTime = new Date().getTime();
            console.log(startTime);
         }
     });
    e.preventDefault();//
});


 });

最佳答案

您不想在网址中添加#吗?然后在 click 处理程序底部添加 return false;。 (使用而不是e.preventDefault())

关于javascript - 我的数组输出中的 `#` 来自哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597363/

相关文章:

c# - byte[] 的图像无限期挂起

php - 如何从数组中获取唯一值?

javascript - 弹出的 prettyPhoto 最大宽度和高度太大

javascript - 如何为 "rewind"创建字形,其中的秒数具有动态值?

javascript - Firefox 扩展 : Context Menu Item

php - 使用 jQuery $.post 修改 PHP 文件

javascript - jquery在循环中选择的最佳方法

javascript - 寻找有关 JavaScript 库流行度的统计数据

javascript - 根据两个元素的重叠宽度动态设置 padding-left

arrays - 分割函数: Text from a cell into an array but ignore the blank lines