我绑定然后将ready事件侦听器解绑定到文档.
$(document).bind("ready", readyEventHandler);
function readyEventHandler() {
// run some code
$(document).unbind("ready");
}
Run Code Online (Sandbox Code Playgroud)
代码不会产生任何错误,并且会起作用.但是,我的javascript被缓存并复制了代码,所以如果我回去然后在浏览器中转发页面,我最终会运行这个代码不止一次.发生这种情况时,根本不会调用ready事件侦听器.我是否正确解除了此事件监听器的绑定?我知道缓存问题变得有问题(这是它自己的独立问题)但我只是想绑定ready事件监听器,让它运行代码,然后取消绑定它.
我正在使用 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) 请求。
我有一个 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\Request为HttpFoundation\Request
我的代码如下所示:
.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)
使用此代码,我得到这样的条带:
但我希望条带是这样的:
第二行显示错误.
"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)
我试图将自动完成的初始值设置为“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
任何设置自动完成初始值的帮助都会非常有用。
以下字符串作为隐藏输入的值嵌入在我的网站页面中.如果我检索它怎么能把它变成一个实际的对象?
{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) 我想编写一个允许整数或具有 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)
这是我想出的正则表达式
\d*\.?([\d]){0,2}
Run Code Online (Sandbox Code Playgroud)
我在测试它以确保它有效时遇到了麻烦。我找到了几种测试它的方法。使用test我刚刚在这里使用 w3schools 设置的方法。另一种方法是使用一些 javascript 正则表达式测试器,例如regexr和regex101。对于所有这些:看来我的正则表达式返回误报,或者我的正则表达式未按预期工作。
问题:什么正则表达式可以做我想做的事?
我怎么知道什么类的类是PHP中的变量:
if($var == \Collection)
echo "congratulations";
?>
Run Code Online (Sandbox Code Playgroud) 我在页面中使用材质表,并且希望表数据源每 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 请求,并确保如果我重新访问此页面,不会创建多个计时器?
我有输入和文本区域,所以问题是我发送带有一些文本和单词的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 与列表中的值一起放入我的附录中。
jquery ×5
javascript ×4
ajax ×2
html ×2
php ×2
angular ×1
css ×1
domcrawler ×1
goutte ×1
guzzle ×1
laravel ×1
mat-table ×1
material-ui ×1
reactjs ×1
select2 ×1
symfony ×1
trim ×1
turbolinks ×1