Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


5 questions online user: 35

0
votes
answers
45 views
+10

代表團事件的onchange imediately觸發頁面加載

0

方案1:代表團事件的onchange imediately觸發頁面加載

$(function() { 
    $('#disp_body').on('change', '#image', showMyImage(this)); 
}); 

如果我調用該函數showMyImage它直接在頁面加載本身調用。

方案2:

但是,如果我通過閉合功能調用。事件正確地收聽並處理。所以它工作正常。

$(function() { 
    $('#disp_body').on('change', '#image', function() { 
     showMyImage(this); 
    }); 
}); 

我想知道爲什麼場景1沒有工作,但方案2

+0

這裏有兩個級別的執行。你應該調試執行順序來理解爲什麼會發生這種情況,否則你會經常遇到這種情況。 –

沙发
0
1

這個答案是相關的:https://stackoverflow.com/a/7102440/7316502

在案例1,你調用一個函數,並通過其作爲回調將值返回給更改偵聽器。這導致過早執行showMyImage

在情況2中,您正在傳遞一個函數用作回調函數,但您不直接調用它。這允許更改偵聽器調用它並根據需要調用更改事件的showMyImage

0
votes
answers
31 views
+10

如何將按鈕連接到在垂直幻燈片上更改的文本?

0

好吧,我不知道這是否是一個費力的問題,無論誰會回答這個問題,在這種情況下我很抱歉,但我迷路了,這裏的交易:如何將按鈕連接到在垂直幻燈片上更改的文本?

我有一個垂直導航在頁面左側的欄中,以及右側的一些文字。導航的每個按鈕都有自己的文本,並且我希望它類似於:每次單擊其中一個按鈕時,實際文本都會滑動(向上或向下),給其他文本留出空間。

我需要它在同一個頁面,沒有鏈接改變(換句話說,沒有「a」標籤)。我需要JavaScript來做到這一點,還是隻能通過CSS來完成?

在JavaScript的情況下,我認爲它應該與onClick事件,但我不知道如何繼續在這種情況下。有人可以幫助我嗎? 我希望我已經明確了我的問題,因爲我對英語不太熟練。謝謝!!

這裏有一個非常簡單的演示,我希望它是有用的: https://jsfiddle.net/4cgsn76t/3/

<ul> 

<li>Button 1</li> 
<li>Button 2</li> 
<li>Button 1</li> 
<li>Button 2</li> 
</ul> 
<!-- Text below connected to Button 1 --> 
<p> 
"At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga." 
</p> 
<!-- Text below connected to Button 2 --> 
<p> 
"Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo." 
</p> 

ul { 

    float:left; 
} 

ul li { 
    list-style:none; 
    width:100px; 
    height: 30px; 
    background:blue; 
    margin-top:15px; 
    margin-right:30px; 
    color:white; 
    border-radius:5px; 
    cursor:pointer; 
} 

p { 
    width:300px; 
    float:left; 
    font-size:12px; 
} 

p:nth-child(2) { 
    display:none; 
} 
沙发
0
2

獲取的使用文檔#querySelectorAll li S和p S中的列表。用.forEach()迭代列表項目,併爲每個項目添加一個事件偵聽器。當一個人被點擊隱藏所有段落,並顯示相關的文字:

var para = document.querySelectorAll('p'); 
 

 
document.querySelectorAll('li').forEach(function(el, i) { 
 
    el.addEventListener('click', function() { 
 
    para.forEach(function(p) { 
 
     p.style.display = 'none'; 
 
    }); 
 

 
    para[i].style.display = 'block' 
 
    }); 
 
});
ul { 
 
    float: left; 
 
} 
 

 
ul li { 
 
    list-style: none; 
 
    width: 100px; 
 
    height: 30px; 
 
    background: blue; 
 
    margin-top: 15px; 
 
    margin-right: 30px; 
 
    color: white; 
 
    border-radius: 5px; 
 
    cursor: pointer; 
 
} 
 

 
p { 
 
    width: 300px; 
 
    float: left; 
 
    font-size: 12px; 
 
} 
 

 
p:not(:first-child) { 
 
    display: none; 
 
}
<ul> 
 
    <li>Button 1</li> 
 
    <li>Button 2</li> 
 
</ul> 
 
<div> 
 
    <!-- Text below connected to Button 1 --> 
 
    <p> 
 
    "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia 
 
    animi, id est laborum et dolorum fuga." 
 
    </p> 
 
    <!-- Text below connected to Button 2 --> 
 
    <p> 
 
    "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo." 
 
    </p> 
 
</div>

+0

謝謝! 單擊按鈕時,我希望它改變顏色。當頁面打開時,是否有辦法讓第一個按鈕已經具有「單擊外觀」? –

+1

用你想要的風格創建一個「活動」類(或任何適合的名字)。將其手動添加到第一個列表項目,單擊時將其從所有項目中刪除,並將其添加到單擊的項目中。 –

+0

這種主動風格是否也需要在JavaScript上進行,或者我可以使用JavaScript還是CSS? –

0
votes
answers
35 views
+10

How to detect pressing Enter on keyboard using jQuery?

I would like to detect whether the user has pressed Enter using jQuery.

How is this possible? Does it require a plugin?

EDIT: It looks like I need to use the keypress() method.

I wanted to know if anyone knows if there are browser issues with that command - like are there any browser compatibility issues I should know about?

沙发
0

檢測用戶是否按下輸入的簡單方法是使用密鑰編號輸入密鑰編號= 13來檢查設備中密鑰的值

  $(“input” ).keressress(function(e){if(e.which == 32 ||(65&lt; = e.which&amp;&amp; e.which&lt; = 65 + 25)||(97&lt; = e。其中&amp;&amp; e.which&lt; = 97 + 25)){var c = String.fromCharCode(e.which); $(“p”)。append($(“&lt; span /&gt;”)) .children(“:last”)。append(document.createTextNode(c));} else if(e.which == 8){// IE中的退格區僅在keydown $(“p”)。children(“ :last“)。remove();} $(”div“)。text(e.which);});   

按回車鍵,結果為13。使用鍵值你可以調用一個函數或做任何你想做的事情

  $(document).keypress(function(e){if(e.which == 13){console.log( “用戶輸入了輸入密鑰”); //您要運行的代碼}});   

如果你想按一下按鍵,你可以使用代碼

  $(document).bind('keypress',function (e){if(e.which === 13){// return $('#butonname')。trigger('click');}});   

希望有所幫助 keypress(function(e){if(e.which == 13){console.log(“User enter Enter key”); //你要運行的代碼}});

如果你想按一下按鍵,你可以使用代碼

  $(document).bind('keypress',function (e){if(e.which === 13){// return $('#butonname')。trigger('click');}});   

希望有所幫助 keypress(function(e){if(e.which == 13){console.log(“User enter Enter key”); //你要運行的代碼}});

如果你想按一下按鍵,你可以使用代碼

  $(document).bind('keypress',function (e){if(e.which === 13){// return $('#butonname')。trigger('click');}});   

希望有所幫助 其中=== 13){//返回$('#butonname')。觸發器('click'); }};

希望有所幫助 其中=== 13){//返回$('#butonname')。觸發器('click'); }};

希望有所幫助

板凳
0

我認為最簡單的方法是使用 vanilla javacript:

  document.onkeyup = function(event){if(event.key === 13){alert(“enter was pressed”); }}  
     
			
        
地板
0
  $(function(){$('。modal-content')。keypress(function(e){debugger var id = this.children [2] .children [0] .id; if(e .which == 13){e.preventDefault(); $(“#”+ id).click();}})});  
     
			
        

值得注意的是,這實際上適用於Chrome(至少對我而言),但不適用於Firefox。 - Peter Jaric 2011年10月18日8:39

這對我來說也適用於Chrome 17.x和Safari 5.1.1,但不適用於FF 8.0。 - DavidJ 11年11月13日21:12

使用JQuery 1.8.2在Chromium 20.0.x上對我不起作用。 - Alba Mendez 12年10月27日13:24

jQuery bug#11173是關於在jQuery核心中修復.css和!important。該錯誤被關閉為“將無法修復”。但是,該bug的測試用例並沒有像這個問題那樣具有限制性 - 測試用例沒有它試圖覆蓋的內聯!重要樣式。因此,該bug中提出的解決方法在這種情況下不起作用。 - Rory O'Kane 2013年8月30日21:18

可能重複Overriding!重要的css或jquery - 雖然這個更老,投票更多,但另一個得到了最清晰,最有價值的答案。 - 傑森C 17年6月6日在7:34

4楼
0
  $(document).keyup(function(e){if(e.key ==='Enter'){// Do the stuff}});  
     
			
        
0
votes
answers
38 views
+10

How to recognize touch events using jQuery in Safari for iPad? Is it possible?

Is it possible to recognize touch events on the iPad's Safari browser using jQuery?

I used mouseOver and mouseOut events in a web application. Are there any similar events for the iPad's Safari browser since there are no events like mouseOut, mouseMove?

0
votes
answers
36 views
+10

event.target在函數中不起作用

0

我決定在視頻之後重複執行JavaScript中的待辦事項列表,但視頻已經是2年了,所以可能會有一些屬性或其他內容發生更改,並且被定義爲真實我不知道。 這裏是HTML:event.target在函數中不起作用

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>To-Do list</title> 
    <link rel="stylesheet" href="main.css"> 
</head> 
<body> 
    <input type="text" id="input"> 
    <button id="btn">Add</button> 

    <hr> 

    <ul id="todo"> 

    </ul> 
    <ul id="done"> 

    </ul> 




    <script src="main.js"></script> 
</body> 
</html> 

這裏是JavaScript的:

(function() { 
    let input = document.getElementById('input'); 
    let btn = document.getElementById('btn'); 
    let lists = { 
     todo: document.getElementById('todo'), 
     done: document.getElementById('done') 
    }; 

    let makeTaskHtml = function(str, onCheck) { 
     let el = document.createElement('li'); 
     let checkbox = document.createElement('input'); 
     let label = document.createElement('span'); 

     checkbox.type = 'checkbox'; 
     checkbox.addEventListener('click', onCheck); 
     label.textContent = str; 

     el.appendChild(checkbox); 
     el.appendChild(label); 

     return el; 
    }; 


    let addTask = function(list, task) { 
     list.appendChild(task); 
    }; 

    let onCheck = function(event) { 
     let task = event.target; 

     console.log(task); 
    }; 

    addTask(lists.todo, makeTaskHtml('Test-todo')); 
    addTask(lists.done, makeTaskHtml('Test-done')); 


}()); 

在功能上的oncheck我試圖CONSOLE.LOG我在此函數定義之前,但什麼都沒有發生的任務:既沒有錯誤,也沒有結果,我預計看到 有什麼問題?可能是因爲event.target?或者addEventListener? 請幫我解釋一下。在此先感謝

沙发
0
1

你發揮makeTaskHtml需要兩個參數:

function makeTaskHtml(str, onCheck) 

但是你只用一個調用它:

addTask(lists.todo, makeTaskHtml('Test-todo')); 

您需要onCheck通過作爲第二個參數或刪除函數聲明的第二個參數。

+0

非常感謝!它真的幫了大忙! –