KJ Hamler remembers his dad telling him the same thing over and over while he played football growing up.
“Every time you touch the ball and every time you get an opportunity, you’ve got to take advantage of it,” his dad would say.
Hamler certainly did that Sunday against the Carolina Panthers, catching only two passes, both for touchdowns. They were long ones at that — the first one for 37 yards and the second for 49.
Hamler showed his full potential in the Denver Broncos’ 32-27 win, flashing his speed while getting behind the defense for two of the biggest plays of the game.
“Big time. That’s why we drafted him,” coach Vic Fangio said after the game when asked about Hamler’s quickness. “He’s fast, he can stretch, he’s tough to cover one on one, and we’re hoping it’s just the start. He’s been coming around, but we’re hoping to see more and more of that.”
‘He was doing his thing’: Drew Lock’s career day leads Broncos to 32-27 win over Panthers
Hamler said his first touchdown, which came in the third quarter, was actually an audible by quarterback Drew Lock, who told him to run a “go” route — a full-on sprint to the end zone.
“Drew gave me a certain look and told me to run the nine ball,” Hamler said “I just took my release off the line, ducked my head and beat him with speed. Next thing I know the ball’s in the air.”
In reliving the second touchdown, which came in the fourth quarter with only four minutes remaining and the Broncos up five, Hamler said they hadn’t practiced that play all week.
Sign Up For Free: AM Update Newsletter
let pathVariable;
let pathVariable2;
function handleUrlPathSegment() {
const fullPath = window.location.pathname.toLowerCase();
if (fullPath.includes(‘/business/’)) {
pathVariable = ‘business’;
pathVariable2 = ‘Business Newsletter’;
} else if (fullPath.includes(‘/outdoors/’) || fullPath.includes(‘/outdoor/’)) {
pathVariable = ‘outdoors’;
pathVariable2 = ‘Outdoors Newsletter’;
} else if (fullPath.includes(‘/opinion/’)) {
pathVariable = ‘opinion’;
pathVariable2 = ‘Opinion Newsletter’;
} else if (fullPath.includes(‘politics’)) {
pathVariable = ‘politics’;
pathVariable2 = ‘Politics Newsletter’;
} else {
pathVariable = ‘am-update’;
pathVariable2 = ‘AM Update Newsletter’;
}
console.log(`Current path: ${fullPath}`);
console.log(`Path variable set to: ${pathVariable}`);
console.log(`Path variable 2 set to: ${pathVariable2}`);
applyNewsletterName(pathVariable2);
return { pathVariable, pathVariable2 };
}
function applyNewsletterName(newsletterName) {
if (document.readyState === ‘loading’) {
document.addEventListener(‘DOMContentLoaded’, function() {
updateNewsletterElement(newsletterName);
});
} else {
updateNewsletterElement(newsletterName);
}
}
function updateNewsletterElement(newsletterName) {
const newsletterElement = document.getElementById(‘newsletterName’);
if (newsletterElement) {
newsletterElement.textContent = newsletterName;
console.log(`Updated #newsletterName element with: ${newsletterName}`);
} else {
console.warn(‘Element with ID #newsletterName not found in the DOM’);
}
}
function setupFormSubmitListener() {
function getFormattedDate() {
const now = new Date();
const timestamp = now.getTime();
console.log(‘chris: Using Unix timestamp’);
console.log(‘chris: Current time:’, now);
console.log(‘chris: Unix timestamp (ms):’, timestamp);
return timestamp;
}
const formattedDate = getFormattedDate();
var profile = window.blueConicClient.profile.getProfile();
profile.setValues(‘newsletter_category’, pathVariable);
profile.setValue(‘newsletter_signup_date’, formattedDate);
window.blueConicClient.profile.updateProfile(this, function() {
});
}
handleUrlPathSegment();
Success! Thank you for subscribing to our newsletter.
function subscribeSuccess() {
var nsltrform = document.querySelector(“#nsltr”);
var nsltrSuccess = document.querySelector(“#successnsltr”);
nsltrform.classList.add(“hideblock”);
nsltrSuccess.classList.remove(“hideblock”);
}
function validateEmail(email) {
return String(email)
.toLowerCase()
.match(
/^(([^()[]\.,;:s@”]+(.[^()[]\.,;:s@”]+)*)|(“.+”))@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}])|(([a-zA-Z-0-9]+.)+[a-zA-Z]{2,}))$/
);
}
function validateEmailAddress() {
const result = document.querySelector(“#result”);
const email = document.querySelector(“#email”).value;
result.innerText = “”;
if(validateEmail(email)) {
newsletterSubscribe(email);
} else {
result.innerText = ‘The email entered: ‘ + email + ‘ is not valid :(‘;
result.style.color = “red”;
}
return false;
}
function newsletterSubscribe(email) {
fetch(“https://services.gazette.com/mg2-newsletters.php?action=subscribe&site=denvergazette.com&emailPreferenceId=59&email=” + email, {
method: “POST”
}).then(res => {
console.log(“SUCCESSFUL POST”);
subscribeSuccess();
});
}
#nsltr {
min-width: 100%;
margin: 10px 0;
padding: 10px 20px;
background-color: #2076b3;
background-image: url(https://static.gazette.com/emails/circ/Audience%20Images/pp5%20signup%203.png);
background-size: cover;
}
#nsltr-header {
color: #fff4f4;
}
#nsltr-body {
text-align: center;
color: #ffffff;
}
#nsltr-button {
margin-top: 5px;
}
#successnsltr {
min-width: 100%;
margin: 10px 0;
padding: 10px 20px;
background-color: green;
text-align: center;
color: white;
}
#successnsltr a {
color: white;
}
.hideblock {
display:none;
}
h6 a {
color: black;
text-decoration: none;
padding: 5px;
background-color: #bbccdd;
font-weight: 600;
}
@media only screen and (min-width: 768px) {
#nsltr {
background-image: url(https://static.gazette.com/emails/circ/Audience%20Images/pp5%20signup%203.png);
background-size: cover;
}
}
“I beat the guy, stuck my head down the same as I did on the last one, and ran full speed to the upright,” Hamler said. “Next thing I know, it was in the air. I didn’t believe it was in the air because we haven’t thrown it in practice all week, so I was like, ‘Oh my God, I’ve got to make a play.’ Drew put a great ball and I just had to go get it.”
Hamler said after the game that he put extra work in ahead of the Panthers game, feeling as though he had let his team down the week prior against the Chiefs, when he caught only two passes for 16 yards.
His hard work clearly paid off.
“K.C. kind of ate me up for a little bit,” Hamler said. “I worked extra hard in practice just doing the right things, asking more questions, getting extra catches after practice and before practice. Just trying to do the little things right because I didn’t want to drop that ball again. The fact that Drew had faith in me and everybody else had faith in me was a blessing.”
‘We’re a group of fighters’: Depleted Broncos show resiliency in win over Panthers
Hamler is slowly becoming the Broncos’ deep threat thanks to his speed. This season he’s caught 29 passes for 377 yards and two touchdowns. He’s caught four passes of 20 or more yards, tied for eighth among rookie receivers according to Pro Football Focus. His home run ability, combined with fellow rookie wide receiver Jerry Jeudy and star tight end Noah Fant, leaves room for optimism for the future of Denver’s offense.
But Hamler isn’t worried about his stats or the future. He’s happy to get a win, something the Broncos desperately needed.
“I appreciate everybody. As a team, we collectively did a great job today,” Hamler said. “Truly blessed and can’t thank the man up above enough for all of this. We came out with a win, that’s the most important thing.”