我知道编程以及javascript,我正在为我的第一个js项目工作。我似乎无法弄清楚如何在用户界面中向用户展示他们已经猜到的字母。我想出了onkeyup函数来显示最近选择的字母而不是所有字母。有什么建议?
var alphabet =
['a','b','c','d','e','f','g','h','g','h','i','j','k','l','m','n','o','p','q','r','s',
't','u','v','w','x','y','z'];
document.onkeyup = function(event) {
var key_press = String.fromCharCode(event.keyCode);
console.log(key_press);
document.getElementById('guessed-letters').innerHTML = key_press;
};
答案 0 :(得分:4)
拿走你在这里的东西
var alphabet = ['a','b','c','d','e','f','g','h','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
document.onkeyup = function(event) {
var key_press = String.fromCharCode(event.keyCode);
console.log(key_press);
document.getElementById('guessed-letters').innerHTML = key_press;
};
就这样做:
var alphabet = ['a','b','c','d','e','f','g','h','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
var usedChars = [];
document.onkeyup = function(event) {
var key_press = String.fromCharCode(event.keyCode);
console.log(key_press);
usedChars.push(key_press)
document.getElementById('guessed-letters').innerHTML = usedChars.toString();
};
答案 1 :(得分:3)
更改此行:
$query = $em->createQueryBuilder()
->from('User','user')
->select('user.email,
person.givenName,
person.familyName,
contactPoint.contactInfo,
organization.legalName,
postalAddress.streetAddress1,
postalAddress.streetAddress2,
postalAddress.city,
postalAddress.postalCode,
country.name,
region.name')
->leftJoin('person', 'WITH', "user.person_id=person.id")
->leftJoin('contactPoint', 'WITH', "person.contactPoint_id=contactPoint.id")
->leftJoin('organization', 'WITH', "person.organization_id=organization.id")
->leftJoin('postalAddress', 'WITH', "organization.postal_address_id=postalAddress.id")
->leftJoin('country', 'WITH', "postalAddress.country_id=country.id")
->leftJoin('region', 'WITH', "postalAddress.region_id=region.id")
->where("user.email = '$email' ")
->getQuery();
dump($query->getArrayResult());die();
到此:
$user = $this->get('security.token_storage')->getToken()->getUser();
$email = $user->getEmail();
$query = $em->createQueryBuilder()
->from(User::class,'user')
->select('user.email,
person.givenName,
person.familyName,
contactPoint.contactInfo,
organization.legalName,
postalAddress.streetAddress1,
postalAddress.streetAddress2,
postalAddress.city,
postalAddress.postalCode,
country.name,
region.name')
->leftJoin(Person::class, 'person', 'WITH', "user.accountOwner=person.id")
->leftJoin(ContactPoint::class, 'contactPoint', 'WITH', "person.contactPoint=contactPoint.id")
->leftJoin(Organization::class, 'organization', 'WITH', "person.organization=organization.id")
->leftJoin(PostalAddress::class, 'postalAddress', 'WITH', "organization.postalAddress=postalAddress.id")
->leftJoin(Country::class, 'country', 'WITH', "postalAddress.country=country.id")
->leftJoin(Region::class, 'region', 'WITH', "postalAddress.region=region.id")
->where("user.email = '$email' ")
->getQuery();
dump($query->getResult());die();
应该达到你想要的。您将附加到现有HTML而不是替换它。
答案 2 :(得分:0)
var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
var outputElement = document.getElementById('guessed-letters');
var guessedLetters = []; // stores the letters the user guessed
document.addEventListener('keyup', function (event) {
var key = event.key.toLowerCase();
if (alphabet.indexOf(key) !== -1) {
// the key is a letter in the alphabet
if (guessedLetters.indexOf(key) === -1) {
// the key has not been guessed
guessedLetters.push(key);
var string = guessedLetters.join(''); // join the letters together to one single string
outputElement.textContent = string;
}
}
});
<span id="guessed-letters"></span>
或者使用jQuery:
var alphabet = 'abcdefghijklmnopqrstuvwxyz'.split('');
var outputElement = $('#guessed-letters');
var guessedLetters = []; // stores the letters the user guessed
$(document).on('keyup', function (event) {
var key = event.key.toLowerCase();
if (alphabet.indexOf(key) !== -1) {
// the key is a letter in the alphabet
if (guessedLetters.indexOf(key) === -1) {
// the key has not been guessed
guessedLetters.push(key);
var string = guessedLetters.join(''); // join the letters together to one single string
outputElement.text(string);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="guessed-letters"></span>