小编Dek*_*kel的帖子

无法取消绑定事件监听器 - turbolinks缓存出现问题

我绑定然后将ready事件侦听器解绑定到文档.

$(document).bind("ready", readyEventHandler);

function readyEventHandler() {
  // run some code

  $(document).unbind("ready");
}
Run Code Online (Sandbox Code Playgroud)

代码不会产生任何错误,并且会起作用.但是,我的javascript被缓存并复制了代码,所以如果我回去然后在浏览器中转发页面,我最终会运行这个代码不止一次.发生这种情况时,根本不会调用ready事件侦听器.我是否正确解除了此事件监听器的绑定?我知道缓存问题变得有问题(这是它自己的独立问题)但我只是想绑定ready事件监听器,让它运行代码,然后取消绑定它.

javascript jquery event-listener turbolinks

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

Select2:修剪输入的文本,如果为空 - 防止发送 Ajax 请求

我正在使用 Select2 和 Ajax 来加载远程数据(建议)。

一切正常,但有一个问题:当用户只输入空格(按空格键)时 - 正在发送 Ajax 请求。

我怎样才能防止这种情况?另外,我想在发送之前修剪条款。

$(".js-data-example-ajax").select2({
  placeholder: "Select... ",
  minimumInputLength: 3,
  ajax: {
    url: "/my-site/tags",
    dataType: 'json',
    data: function (params) {
        return {
            q: params.term
        };
    },
    processResults: function (data) {
        return {
            results: data
        };
    },
    cache: true
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我忘了提到我已经尝试过这样的事情:

        data: function (params) {
            if (params.term.trim().length  < 2) {
                return;
            }
            return {
                q: $.trim(params.term)
            };
        },
Run Code Online (Sandbox Code Playgroud)

并且仍然发送 GET (Ajax) 请求。

ajax jquery trim jquery-select2-4 select2

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

在 symfony/goutte 中加入 URL

我有一个 Goutte/Client(goutte 使用 symfony 来处理请求),我想加入路径并获得最终 URL:

$client = new Goutte\Client();
$crawler = $client->request('GET', 'http://DOMAIN/some/path/')
// $crawler is instance of Symfony\Component\DomCrawler\Crawler

$new_path = '../new_page';
$final path = $crawler->someMagicFunction($new_path);
// final path == http://DOMAIN/some/new_page
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种简单的方法,将$new_path变量与请求中的当前页面连接起来并获取新的 URL。

请注意,$new_page可以是以下任意一个:

new_page    ==> http://DOMAIN/some/path/new_page
../new_page ==> http://DOMAIN/some/new_page
/new_page   ==> http://DOMAIN/new_page
Run Code Online (Sandbox Code Playgroud)

symfony/goutte/guzzle 是否提供了任何简单的方法来做到这一点?

我找到了getUriForPathfrom Symfony\Component\HttpFoundation\Request,但我没有看到任何简单的方法将 the 转换Symfony\Component\BrowserKit\RequestHttpFoundation\Request

php symfony goutte guzzle domcrawler

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

变换旋转不会覆盖布局的末尾

我的代码如下所示:

.test {
    position: relative;
    top: 1080px;
    width: 100%;
    height: 100px;
    background-color: black;
    transform: rotate(-6deg);
}
Run Code Online (Sandbox Code Playgroud)
<div class="test">this is test</div>
Run Code Online (Sandbox Code Playgroud)

使用此代码,我得到这样的条带:

在此输入图像描述

但我希望条带是这样的:

在此输入图像描述

html css

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

为什么此代码显示错误?

第二行显示错误.

"ReferenceError: specialTrick is not defined
    at CoolGuy.showoff (<anonymous>:23:40)
    at <anonymous>:31:5
    at Object.InjectedScript._evaluateOn (<anonymous>:875:140)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:808:34)
    at Object.InjectedScript.evaluate (<anonymous>:664:21)"
Run Code Online (Sandbox Code Playgroud)

class CoolGuy {
    specialTrick = null;

    CoolGuy( trick ) {
        specialTrick = trick
    }

    showOff() {
        console.log( "Here's my trick: ", specialTrick );
    }

}

Joe = new CoolGuy("rope climbing");
Joe.shoeOff();
Run Code Online (Sandbox Code Playgroud)

javascript

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

设置 Material UI Autocomplete 的默认值

我试图将自动完成的初始值设置为“ACCU-SEAL 35-532 Bag Sealer”,但出现以下错误:

Material-UI:自动完成的 'getOptionLabel' 方法返回 undefined 而不是“ACCU-SEAL 35-532 Bag Sealer”的字符串。

所以我尝试将以下内容添加到我的自动完成中:

getOptionSelected={(option, value) => option.label === value}
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误。

我在这里有一个代码示例:https : //codesandbox.io/s/material-demo-fv075?file=/formElementsEdit.jsx

任何设置自动完成初始值的帮助都会非常有用。

reactjs material-ui

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

将字符串(有效的对象结构,但不是有效的json结构)转换为对象

以下字符串作为隐藏输入的值嵌入在我的网站页面中.如果我检索它怎么能把它变成一个实际的对象?

{id: '151901', name: 'Whisper Boots', image: '/wcsstore7.00.00.550/ExtendedSitesCatalogAssetStore/images/products/large/WHISPS.jpg', type: 'ProductBean', components: {}, skus: [{id: '151902', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '3'}},{id: '151903', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '4'}},{id: '151904', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '4.5'}},{id: '151905', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '5'}},{id: '151906', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '5.5'}},{id: '151907', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '6'}},{id: '151908', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '6.5'}},{id: '151909', attributes: {'Colour': 'Black','Fit': 'Extra Wide Fit','Size': '7'}},{id: '151910', attributes: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

正则表达式匹配字符串是否包含带有数字的整数/小数

我想编写一个允许整数或具有 0 - 2 个小数位的小数的正则表达式。

有效输入

1
1.
1.1
1.11
111111111
111111111.
111111111.1
111111111.11
Run Code Online (Sandbox Code Playgroud)

输入无效

a
a.
1.a
1.111
1.1111
Run Code Online (Sandbox Code Playgroud)
  • 字符串允许任意数量的数字字符,但只允许 1 个小数点/句点
  • 如果存在句点/小数点:小数点后仅允许 2 位数字字符

这是我想出的正则表达式

\d*\.?([\d]){0,2}
Run Code Online (Sandbox Code Playgroud)

我在测试它以确保它有效时遇到了麻烦。我找到了几种测试它的方法。使用test我刚刚在这里使用 w3schools 设置的方法。另一种方法是使用一些 javascript 正则表达式测试器,例如regexrregex101。对于所有这些:看来我的正则表达式返回误报,或者我的正则表达式未按预期工作。

问题:什么正则表达式可以做我想做的事?

javascript jquery

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

如何知道哪个类属于php中的变量?

我怎么知道什么类的类是PHP中的变量:

 if($var == \Collection)
   echo "congratulations";
 ?>
Run Code Online (Sandbox Code Playgroud)

php laravel

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

角度| 使用计时器每 5 秒刷新一次表

我在页面中使用材质表,并且希望表数据源每 5 秒刷新一次,以便值的任何更改都将反映在表中。这就是我现在所做的:

everyFiveSeconds: Observable<number> = timer(0, 5000);

ngOnInit() {
this.everyFiveSeconds.subscribe(() => {
  this.getComponents();
});
Run Code Online (Sandbox Code Playgroud)

getComponents()发送获取请求并将输出分页到材料表。然而问题是,一旦我最初加载此页面,每 5 秒就会发出一次 get 请求。但即使我导航到另一个页面,应用程序也会继续发送请求。如果我重新访问该页面,请求每 2.5 秒发送一次,并且如果我重复,请求的频率会不断增加。

如何修改我的代码,以便仅当我位于此组件页面时才发送此 get 请求,并确保如果我重新访问此页面,不会创建多个计时器?

angular-material angular mat-table

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

用jquery创建ul li并将其放入html追加中

我有输入和文本区域,所以问题是我发送带有一些文本和单词的ajax,并计算文本中有多少输入有单词,然后发回具有2个值的类对象列表:数量和单词,然后我想显示这样的结果:“word”-quantity”以及我需要放入 ul li 中的所有内容,所以我尝试使用 jquery 创建 ul 和 li 但仍然不知道如何将其放入我的 html 附加中与列表的值。这是我的代码部分:

function makeulli() {
    var sub_ul = $('<ul/>');
    $.each(data, function (i) {
        var sub_li = $('<li/>');
        $(sub_li).appendTo(sub_ul);
    });
}

$(".texnwords").append("<section class='searchresult'><h4>Result:</h4><p>Words: <p>Text:<br>" + text + "</p></section>");
Run Code Online (Sandbox Code Playgroud)

所以我只需要将创建的 ul 和 li 与列表中的值一起放入我的附录中。

html ajax jquery

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