小编Mik*_*den的帖子

在jQuery中BindAsEventListener等价?

我试图使用jQuery将click事件绑定到某个元素.使用原型我知道我可以使用BindAsEventListener().

例:

var myObject = {

init: function(txtOneId, txtTwoId, lblResultId, ancAddId) {
    this.txtOneId = txtOneId;
    this.txtTwoId = txtTwoId;
    this.lblResultId = lblResultId;
    this.ancAddId = ancAddId;


    var addListener = this.addResult.bindAsEventListener(this);

    Event.observe(this.txtOneId, 'keyup', addListener);
    Event.observe(this.txtTwoId, 'keyup', addListener);
},

addResult: function() {

    var valueOne = $(this.txtOneId).value;
    var valueTwo = $(this.txtTwoId).value;

    if (isNaN(valueOne) || valueOne == "")
        valueOne = 0;
    else
        valueOne = parseInt(valueOne);

    if (isNaN(valueTwo) || valueTwo == "")
        valueTwo = 0;
    else
        valueTwo = parseInt(valueTwo);


    var result = valueOne + valueTwo; …
Run Code Online (Sandbox Code Playgroud)

jquery prototypejs

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

以编程方式将打印页面方向设置为横向

我们有一个带有"打印机友好"链接的ASP.NET C#Web应用程序.有没有办法以编程方式将方向设置为横向,因此用户只需按下打印按钮?

c# printing asp.net

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

快速linq计数问题

我有以下查询返回给定日期每天的登录计数.

var sot =   from uts in DataContext.UserTrackingStatistics
              let startDate = new DateTime(2009, 10, 01) 
              where uts.LastLogin >= startDate
              group uts by uts.LastLogin.Date into myGroup
              orderby myGroup.Key.Date
              select new { Count = myGroup.Count() , myGroup.Key.Date};
Run Code Online (Sandbox Code Playgroud)

我希望这可以说一天的计数是0,而不是没有返回任何东西.我怎么能在这个查询中做到这一点?

c# linq count

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

走"无国籍"并动态加载脚本

我想知道的是,如果我从正确的角度接近这一点.

我有一个我正在构建的asp.net应用程序.我正在使用Masterpage来查看应用程序的整体外观(下面您可以看到代码).

我想让菜单系统使用像jQuery .load()函数这样的动态加载来加载内容.那很好,我把它弄下来了.该.load()函数用于innerHTML将该内容泵入页面.如果在该页面上要加载特定于模块的脚本和样式,则会出现此问题.

我的问题是,在这样的环境中,你们如何加载这些模块的脚本?我应该在应用程序的初始加载时加载每个脚本吗?这个应用程序永远不会"那么大",但我想确保我做对,以防万一.

MasterSheet

<div id="primaryNavigation">
    <ul>
        <li class="current"><a href="../Default.aspx">Main</a></li>
        <li><a href="../Modules/Page1.aspx">Some Overview</a></li>
        <li><a href="../Modules/Page2.aspx">Reporting</a></li>
        <li><a href="../Modules/Page3.aspx">More Reporting</a></li>
        <li><a href="../Modules/Page4.aspx">About</a></li>
    </ul>
</div>

<div id="mainContentContainer">
    <asp:ContentPlaceHolder ID="cphBody" runat="server" />
</div>
Run Code Online (Sandbox Code Playgroud)

Content标记内的示例模块

<div id="container"> 
    Inside a page

    <script id="scriptToLoad" type="text/javascript">
      alert('Something');

      head.ready(function () { console.log('please print'); }); 
    </script>

</div>

<div id="includeScripts">
    ../Files/Javascript/SomeModuleSpecificJs.js
    ../Files/Javascript/SomeModuleSpecificJs1.js    
</div>
Run Code Online (Sandbox Code Playgroud)

我的想法是div在每个模块中设置一个id为"includeScripts"的模块,然后加载来自mastersheet中的方法的模块.此方法有效(显然需要一些tweeking)但是如果用户不断点击模块,最终将加载每个文件.如果是这样的话我也可以在主板上加载它们.

加载MasterPage时要运行JS

$navigation = $("#primaryNavigation").delegate('ul li a', 'click', function () {
                    $('#primaryNavigation').find('li').removeClass('current');
                    $(this).parent().addClass('current');

                    $('#mainContentContainer').load($(this).attr('href') + ' #container');

// Obviously …
Run Code Online (Sandbox Code Playgroud)

asp.net master-pages stateless

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

保持用户会话活着的问题

我有一个想法是通过发送webservice调用来保持用户的会话活动,设置超时一段时间(比如15分钟左右)然后回想一下相同的方法.

问题是网络服务似乎不断发生.不像我想的那样每隔15分钟.

链接可以在这里找到:小提琴

代码在这里:

(function($, window, document, undefined) {
    "use strict";

    var methods, 
        settings,
        timeout,
        type = 'sessionPing';

    methods = {
        init: function () { 
            settings = { time: 5000};

            methods.request.call(this);
        },

        request: function () { 
            console.log('just before clear' + timeout);
          clearTimeout(timeout);

            $.ajax({ type: 'POST',
                   url: '/echo/html/',
                   data: {
                    'html': 'Echo!'
                   },
                   success: function(data) {
                     timeout = setTimeout(methods.request(), settings.time);  
                       console.log('in success ' + timeout);
                   },
                   dataType: 'html'
                });  
        }
    };

    $.sessionPing = function(method) {
        // Method calling logic
        if …
Run Code Online (Sandbox Code Playgroud)

javascript settimeout

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

使用Homebrew安装mongodb时出现问题

我正试着让Mongo跑步.

我安装了包管理器Homebrew

然后我使用了Mongo站点上的命令:

$ brew update
$ brew install mongodb
Run Code Online (Sandbox Code Playgroud)

这似乎安装正确.
我输入mongo了一个新的终端窗口并收到以下错误:

MongoDB shell version: 2.0.1
connecting to: test
Thu Dec 15 09:37:25 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

所以我接着按照这里的说明进行操作

mongod,这是结果:

mongod --help for help and startup options
Thu Dec 15 09:38:49 [initandlisten] MongoDB starting : pid=7364 port=27017 dbpath=/data/db/ 64-bit host=Mike-Fieldens-iMac.local
Thu Dec 15 09:38:49 [initandlisten] db version v2.0.1, pdfile version 4.5
Thu Dec 15 09:38:49 [initandlisten] git version: …
Run Code Online (Sandbox Code Playgroud)

mongodb

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

获得正确目标的Backbone View事件

给出以下简单的html:

<div class="someContainer">
  <h5>Some other information</h5>
</div>
Run Code Online (Sandbox Code Playgroud)

以下Backbone视图:

var view = Backbone.View.extend({
  events: {
   'click .someContainer': performAction
  },
  performAction: function (evt) { 
    // Do things here
  } 
});
Run Code Online (Sandbox Code Playgroud)

我发现自己做了以下一些代码,这对我来说似乎是一种代码味道.有什么我做错了或有更好的方法来做到这一点?

...performAction: function (evt) { 
 // Check to see if the evt.target that was clicked is the container and not the h5 (child)

 if ($(evt.target).hasClass('someContainer')) { 
  // Everything is ok, the evt.target is the container
 } else { 
  // the evt.target is NOT the container but the child element so...
  var $container …
Run Code Online (Sandbox Code Playgroud)

jquery event-handling backbone.js

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

了解数据库架构

对于任何Oracle DBA来说,这应该是一个非常简单的问题.

我刚开始使用新的应用程序,并且我要求查看架构.我根本不熟悉Oracle或其命名约定.所以我向你提交以下内容:

在此输入图像描述

我想知道:

  • 为什么与前2个领域和其他领域分离?(我认为那些是PK,但它没有明确说明那么多)
  • 与粗体字段和非粗体字段有什么区别?
  • 'l3','l5'等表示什么?
  • 其他几张桌子(未图示)有'U1'指示,其中这张照片有'l3',这是什么意思?

database database-schema

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

是否有更有效的方法在对象数组中选择特定对象

给出以下数据结构

var things = [{ "name": "thing1", "sex": "male"},
              { "name": "thing2", "sex": "female"}];
Run Code Online (Sandbox Code Playgroud)

我希望能够搜索该对象数组并拉出一个特定的对象.

我目前编写了以下代码

function selectElementByName (name) { 

  var returnObject;

  for (var i = 0; i < things.length; i++) {

    if (things[i].name === name) {

        returnObject = things[i];
    }
  } 


  if ( returnObject === undefined) { 
    console.log("Object not found");
  }

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

JsFiddle可以在这里找到

有更有效的方法吗?

javascript performance

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

使用StartsWith进行Linq-to-sql查询错误

我正在使用LINQPad运行以下查询:

var pds = (from p in Projects
            group p by p.FiscalYearVariables.FiscalYear into grouped
            where grouped.Count() > 0
            select new { 
                fiscalYear = grouped.Key,
                projectDetails = grouped.SelectMany(a=>a.ProjectDetails),
                Programs = (from pwbs in Programs.SelectMany(a =>a.ProgramWbsNumbers)
                            let ds = pwbs.WbsNumbers.DisplayString
                            where pwbs.Programs.IsActive
                            && (from w in WbsNumbers
                                where w.DisplayString.StartsWith(ds)
                                select w).Any()
                            select pwbs.Programs)
            });

            pds.Dump();
Run Code Online (Sandbox Code Playgroud)

我收到错误:

NotSupportedException:String.StartsWith方法仅支持可在客户端上计算的参数.

我不知道如何纠正这个错误.我需要得到每个Program地方的WbsNumber开头的WbsNumber包含内ProgramWbsNumbers是否有帮助.

在此输入图像描述

sql linq linq-to-sql

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

获得嵌套的obj值

给出以下obj:

var inputMapping = {
 nonNestedItem: "someItem here",
 sections: {
   general: "Some general section information" 
 }
};
Run Code Online (Sandbox Code Playgroud)

我正在get通过传入字符串"nonNestedItem"或嵌套的情况为该数据编写函数"sections.general".我不得不使用一个eval,我想知道是否有更好的方法来做到这一点.

这是我到目前为止所做的,它可以正常工作.但改善!

function getNode(name) {
  var n = name.split(".");

  if (n.length === 1) { 
   n = name[0];
  } else { 
    var isValid = true,
        evalStr = 'inputMapping';

    for (var i=0;i<n.length;i++) { 
      evalStr += '["'+ n[i] +'"]';

      if (eval(evalStr) === undefined) {
        isValid = false;
        break;
      }
    }

    if (isValid) { 
      // Do something like …
Run Code Online (Sandbox Code Playgroud)

javascript eval

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

Javascript正则表达式没有空格

我想在Javascript Regex中匹配以下字符串

PC123456

这就是我所拥有的:

/^PC\d*/
Run Code Online (Sandbox Code Playgroud)

这适用于每个实例减去一个带有空格的"PC",它可以正常工作但它应该失败.例:

PC 123456

那会失败.为了使第二个条件失败,我需要添加什么?

javascript regex

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

document.createElement不起作用

我正在使用jQuery库创建一个插件.

这里我将String.prototype存储在变量中,然后我使用此变量来扩展我的Sting对象.这工作正常.

// String Prototyping store in a variable
// Save bytes in the minified version of js
var StrProto = String.prototype;
String.prototype.toProperCase = function () {
  return this.replace(/\w\S*/g, function (txt) {
    return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
  });
};
// working fine
alert("yogesh kumar".toProperCase());
Run Code Online (Sandbox Code Playgroud)

在下一种情况下,我正在创建存储在abc变量中的m 函数xyz, 这也正常工作.

function xyz(x){
  alert(x)
}
var abc = xyz;
// working fine
abc("yogesh kumar");
Run Code Online (Sandbox Code Playgroud)

在最后一种情况下,我将document.createElement存储在变量 标签中,并使用标签创建一个按钮.但这不起作用.

var tag=document.createElement;
$(document.createElement("button")).html("document.Element").appendTo("#myDiv");

// not working
$(tag("button")).html("tag").appendTo("#myDiv");
Run Code Online (Sandbox Code Playgroud)

请检查jsFiddle上的链接:

点击这里

错误:

在Chrome中 …

javascript jquery

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