小编Wan*_*eho的帖子

使用纯Javascript将事件绑定到元素

我正在编写API,不幸的是需要避免任何jQuery或第三方库.事件究竟是如何通过jQuery绑定到元素的?

jQuery示例:

$('#anchor').click(function(){
    console.log('anchor');
});
Run Code Online (Sandbox Code Playgroud)

我很沮丧地在元素上编写onClick属性,但我想理解jQuery事件和DOM元素之间的联系.

当标记本身没有改变时,元素知道如何知道触发jQuery事件?他们如何捕获DOM事件并覆盖它?

我已经创建了自己的Observer处理程序,但是不能理解如何将元素链接到Observer事件.

javascript events click

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

FP替代JavaScript/ReactJS中的多态

我目前正在开发一个ReactJS项目,我需要创建"可重用"组件,其中一些方法需要被"覆盖".在OOP中我会使用多态.我已经做了一些阅读,似乎共识是使用HoC /组合但我无法弄清楚如何实现这一目标.我想如果我可以使用合成得到一个ES6样本,那么之后可能更容易将这个想法改编为ReactJS.

下面是我想在ReactJS中实现的ES6 OOP示例(忽略处理它仅用于测试的事件).有没有人对如何将ReactJS组件分解为HoC有一些指导,或者甚至只是演示如何根据示例在ES6中使用组合?

class TransferComponent {
    constructor(){
        let timeout = null;

        this.render();
        this.events();
    }

    events(){
        let scope = this;

        document.getElementById('button').addEventListener('click', function(){
            scope.validate.apply(scope);
        });
    }

    validate(){
        if(this.isValid()){
            this.ajax();
        }
    }

    isValid(){
        if(document.getElementById('username').value !== ''){
            return true;
        }

        return false;
    }

    ajax(){
        clearTimeout(this.timeout);

        document.getElementById('message').textContent = 'Loading...';

        this.timeout = setTimeout(function(){
            document.getElementById('message').textContent = 'Success';
        }, 500);
    }

    render(){
        document.getElementById('content').innerHTML = '<input type="text" id="username" value="username"/>\n\
            <button id="button" type="button">Validate</button>';
    }
}


class OverrideTransferComponent extends TransferComponent{
    isValid(){
        if(document.getElementById('username').value !== '' && document.getElementById('password').value !== ''){
            return true; …
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming ecmascript-6 reactjs

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

在click事件上扩展jQuery

我需要找到一种全局方法来阻止jQuery on('click')事件触发,如果一个锚具有disabled ="disabled"(是的,我知道这不是一个锚的有效属性)属性集.锚也可以随时动态设置为禁用.

另一个问题是当我在"框架"中工作时触发命令,并且App类加载第一个和后续类,其后加载锚事件.理想情况下,id喜欢在App类中有一些东西阻止"子"类事件被触发,但是当前子类事件首先触发,然后使用stopPropagation()的App事件也不起作用.

我对一些解决方案很谨慎,比如如何订购与jQuery绑定的事件,因为你可以看到这可能会在jQuery版本之间中断.

jquery jquery-events

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

Laravel刀片变量不起作用

继承人控制器:

class HomeController extends BaseController {
    public function index() {
        return View::make('home', array('username' => 'Vaughan'));
    }
}
Run Code Online (Sandbox Code Playgroud)

这里是主刀片视图:

{{ $username }}
Run Code Online (Sandbox Code Playgroud)

然而,视图正在输出:

{{ $username }}
Run Code Online (Sandbox Code Playgroud)

变量未呈现.这可能与Apache或PHP有关吗?

laravel blade laravel-4

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

Laravel 5共享主机子域htaccess

首先,因为我在共享主机上,所以我无法将公用文件夹的内容直接放入根目录中。我必须将整个项目放入 public_html 目录中,并使用 .htaccess 指向公共文件夹,如下所示(这对于单个 Laravel 项目效果很好):

RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

现在,我使用主机创建了一个子域,并在我的 public_html 目录中创建了一个名为 store.domain.com 的目录。这将用于一个完全不同的 Laravel 项目。如果我将带有 .htaccess 文件的常规文件夹结构放入此子域文件夹中,则在访问子域时会收到 503 错误。我与主机交谈,当他们建议删除根 .htaccess 文件时,子域开始工作,但主域崩溃了。

几天来我一直在努力阅读 WordPress 上其他人类似问题的各种解决方案,但无法让任何东西正常工作。下面的解决方案有点有效,但它不断将公共文件夹添加到我的子域 URL(根域项目工作正常):

RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^store.mc.com
RewriteRule ^(.*)$ /public/$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^store.mc.com$
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ /public/$1 [L]
Run Code Online (Sandbox Code Playgroud)

有人遇到过这个问题或者知道如何解决吗?

subdomain .htaccess laravel-5

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