问题列表 - 第17058页

什么是MooTools Javascript中的(函数($))

我正在阅读David Walsh关于使用MooTools创建精灵菜单的帖子.我是MooTools的新手,我不明白他打开剧本的方式.特别是,是什么

(function($){
..
})(document.id)
Run Code Online (Sandbox Code Playgroud)

它是一种JS闭包吗?

如果您不想关注该链接,请参阅完整脚本:

(function($) {
    window.addEvent('domready',function() {
    $('nav').getElements('li').each(function(li) {
        //settings
        var link = li.getFirst('a');
        //fix background image
        if(!li.hasClass('current')) {
            link.setStyle('background-image','none');
        }
        //utility div
        var div = new Element('div',{
            'class': 'nav-' + li.get('id'),
            opacity: 0
        }).inject(li);
        //background imagery
        li.addEvents({
            mouseenter: function() {
                div.fade('in');
            },
            mouseleave: function() {
                div.fade('out');
            },
            mousedown: function() {
                div.addClass('nav-' + li.get('id') + '-click');
            },
            mouseup: function() {
                div.removeClass('nav-' + li.get('id') + '-click');
            }
        });
    });
});
})(document.id);
Run Code Online (Sandbox Code Playgroud)

javascript mootools

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

修剪字符串空间的最佳方法

如何在考虑性能的情况下仅在一个空间内修剪空间?

Input:
     AA     BB
Output:
AA BB

Input:
A      A
Output:
A A
Run Code Online (Sandbox Code Playgroud)

java regex trim

5
推荐指数
2
解决办法
4479
查看次数

如何检查URL是否有效

如何检查字符串是否是有效的URL?

例如:

http://hello.it => yes
http:||bra.ziz, => no
Run Code Online (Sandbox Code Playgroud)

如果这是一个有效的URL,我如何检查这是否与图像文件相关?

ruby

91
推荐指数
6
解决办法
6万
查看次数

在WPF MVVM中打开对话框

我有一个应用程序,需要从用户输入一些信息的按钮打开一个对话框.

目前我这样做(工作正常)

  • 单击按钮会在ViewModel中生成一个命令.
  • ViewModel引发Controller监听的事件.
  • Controller计算出新窗口的细节(即View,ViewModel和model)并打开它(ShowDialog)
  • 当窗口关闭时,Controller将结果添加到eventargs并返回ViewModel
  • ViewModel将信息传递给Model.

有很多步骤,但它们都有意义,并没有太多的打字.

代码看起来像这样(窗口要求输入用户名)

视图模型:

AskUserNameCommand = DelegateCommand(AskUserNameExecute);
...

public event EventHandler<AskUserEventArgs> AskUserName;

void AskUserNameExecute(object arg) {
    var e = new AskUserNameEventArgs();
    AskUserName(this, e);
    mModel.SetUserName(e.UserName);
}
Run Code Online (Sandbox Code Playgroud)

控制器:

mViewModel.AskUserName += (sender,e) => {
    var view = container.Resolve<IAskUserNameView>();
    var model = container.Resolve<IAskUserNameModel>();
    var viewmodel = container.Resolve<IAskUserNameViewModel>(view, model);
    if (dlg.ShowDialog() ?? false)
        e.UserName = model.UserName;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是水平通信如何在MVVM模式中工作.不知何故,让控制器参与模型之间的数据传输似乎是错误的.

我已经查看了中介模式,让模型直接进行通信.不喜欢这个想法,因为它使模型取决于GUI的实现细节.(即如果用文本框替换对话框,模型需要更改)

wpf dialog mvvm

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

使用带有spark视图引擎的asp.net mvc 2功能

我正在使用最初从CodeBetter.Canvas项目启动的ASP.NET MVC项目- 我正在尝试迁移到ASP.NET MVC 2.我使用Eilon的升级工具成功升级了我的项目,转移到VS2010(尽管还没有.NET 4).

我目前遇到的问题只发生在使用spark视图引擎时.以下是我的View.spark中的相关代码(强类型):

${Html.EditorFor(e => e)}
Run Code Online (Sandbox Code Playgroud)

如果我使用.aspx视图,相同的代码就可以正常工作:

<%= Html.EditorFor(e => e) %>
Run Code Online (Sandbox Code Playgroud)

这里的主要观点是"EditorFor"是ASP.NET MVC 2中的新功能,在我的项目中,我可以在ASPX视图中使用该帮助程序,但不能在Spark视图中使用.

我已经尝试升级Spark以使用MVC 2(以及MvcContrib和Ninject),想想也许这是其中一个吓坏了 - 但到目前为止没有运气 - 我仍然看到相同的行为.

以下是Spark的BatchCompiler类中抛出的完整错误消息.

动态视图编译失败.(0,0):警告CS1701:假设程序集引用'System.Web.Mvc,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'匹配'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral ,PublicKeyToken = 31bf3856ad364e35',您可能需要提供运行时策略c:\ inetpub\wwwroot [myproject]\CodeBetter.Canvas.Web\Views [MyEntity]\View.spark(9,16):错误CS1061:'System.Web .Mvc.HtmlHelper'不包含'EditorFor'的定义,也没有扩展方法'EditorFor'接受类型为'System.Web.Mvc.HtmlHelper'的第一个参数'(你是否缺少using指令或程序集引用) ?)

这是我的Global.asax中与Spark相关的代码:

var settings = new SparkSettings()
.AddNamespace("System")
.AddNamespace("System.Collections.Generic")
.AddNamespace("System.Web.Mvc")
.AddNamespace("System.Web.Mvc.Html")
.AddNamespace("MvcContrib.FluentHtml")
.AddNamespace("CodeBetter.Canvas")
.AddNamespace("CodeBetter.Canvas.Web")
.SetPageBaseType("ApplicationViewPage")
.SetAutomaticEncoding(true);

#if DEBUG
    settings.SetDebug(true);
#endif

var viewFactory = new SparkViewFactory(settings);
ViewEngines.Engines.Add(viewFactory);
Run Code Online (Sandbox Code Playgroud)

此外,我在我的火花视图中引用System.Web.Mvc.Html,如另一个SO答案中所述 …

asp.net-mvc spark-view-engine

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

桥模式示例

我花了一些时间在维基百科的这个Bridge模式示例中,但是,我仍然不明白这个桥模式试图解释什么.

interface DrawingAPI {
    public void drawCircle(double x, double y, double radius);
}

/** "ConcreteImplementor" 1/2 */
class DrawingAPI1 implements DrawingAPI {
   public void drawCircle(double x, double y, double radius) {
        System.out.printf("API1.circle at %f:%f radius %f\n", x, y, radius);
   }
}

/** "ConcreteImplementor" 2/2 */
class DrawingAPI2 implements DrawingAPI {
   public void drawCircle(double x, double y, double radius) {
        System.out.printf("API2.circle at %f:%f radius %f\n", x, y, radius);
   }
}

/** "Abstraction" */
interface Shape {
   public void draw(); …

java design-patterns bridge

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

Code Golf:Ulam Spiral

挑战

按字符计算的最短代码输出Ulam的螺旋,螺旋尺寸由用户输入给出.

Ulam的螺旋是一种映射素数的方法.螺旋线从中间的数字1开始(1不是素数)并在其周围产生螺旋线,将所有素数标记为字符' *'.非素数将被打印为空格' '.

替代文字http://liranuna.com/junk/ulam.gif

测试用例

Input:
    2
Output:
    * *
      *
    *  

Input:
    3
Output:
    *   *
     * * 
    *  **
     *   
      *  

Input:
    5
Output:
        * *  
     *     * 
    * *   *  
       * * * 
      *  ** *
     * *     
    *   *    
     *   *   
    *     *  
Run Code Online (Sandbox Code Playgroud)

代码计数包括输入/​​输出(即完整程序).

language-agnostic code-golf rosetta-stone

27
推荐指数
7
解决办法
4226
查看次数

PHP:将unicode代码点转换为UTF-8

我有这种格式的数据:U+597D或者像这样U+6211.我想将它们转换为UTF-8(原始字符是好和我).我该怎么做?

php unicode utf-8

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

如何使用jQuery将表的一行滚动到视图(element.scrollintoView)?

我正在使用jQuery动态地向表中添加行.的table是内部的divoverflow:auto从而导致垂直滚动条.

我现在想要将我的容器自动滚动div到最后一行.什么是jQuery版本tr.scrollintoView()

jquery scroll

72
推荐指数
5
解决办法
11万
查看次数

使用Apache/Tomcat +虚拟主机部署多个grails应用程序

我无法弄清楚如何使用Apache/Tomcat部署多个grails应用程序,其中虚拟主机映射到每个grails应用程序

我可以这样做

http://virtualhost1.example.com/myGrailsApplication-0.1/ 
Run Code Online (Sandbox Code Playgroud)

工作,但我想要的是

http://virtualhost1.example.com/
Run Code Online (Sandbox Code Playgroud)

直接进入我的申请.网络上的很多教程网站只是让你的网络应用程序成为"ROOT"网站,但这不适用于多个grails-app虚拟主机环境.

我试过用了

<Host name="virtualhost1.example.com" ...> </Host>
Run Code Online (Sandbox Code Playgroud)

tomcat/conf/server.xml文件中的标签,但它似乎没有做任何事情(是的,我每次更改时都会重新启动tomcat.)

我也在我的apache配置文件中尝试了我能想到的所有虚拟主机,并且无法让它工作.

那么,当我有多个grails webapps,虚拟主机,并且我不希望我的webapp是"ROOT"时,如何摆脱URL中的应用程序名称?

apache deployment grails tomcat

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